// // MyTDTopicSearchVC.m // smartRhino // // Created by niuzhen on 2019/12/19. // Copyright © 2019 tederen. All rights reserved. // #import "TDGroupDraftSearchVC.h" #import "TDGroupInfoDetailVC.h" #import "TDGroupInfoListModel.h" #import "TDGroupInfoListCell.h" #import "TopicListModel.h" #import "MyTDGroupView.h" #import "MyTDTopicDetailVC.h" #import "MyTDTopicSearchVC.h" #import "MyTDGroupViewController.h" #import "TDGroupInfoListVC.h" #import "WorkFlowDetailsController.h" #import "MyApprovalPageDetail.h" #import "DownFileViewController.h" #import "MailListDetailVC.h" #import "ShareListVC.h" #import "TopicBookCell.h" @interface TDGroupDraftSearchVC () @property (nonatomic, assign) NSUInteger currentPage; @property (nonatomic, assign) NSUInteger totalPage; @property (nonatomic, assign) NSUInteger totalRecord; @property (nonatomic, assign) BOOL isFresh; @property (strong, nonatomic) NSMutableArray * groupListArray; @property (strong, nonatomic) NSMutableArray * dataArray; @end @implementation TDGroupDraftSearchVC - (void)viewDidLoad { [super viewDidLoad]; self.fd_prefersNavigationBarHidden = YES; self.view.backgroundColor = RGB(255, 255, 255); self.tableView.delegate = self; self.tableView.dataSource = self; [self setTableViewRefresh]; self.historySearchType = HistorySearchType_GroupDraft; [self addObserver:self forKeyPath:@"searchText" options:NSKeyValueObservingOptionNew context:nil]; } - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { id obj = [change objectForKey:@"new"]; NSString * text = @""; if ([obj isKindOfClass:[NSString class]]) { text = obj; }else{ text = [obj stringValue]; } if (text.length > 0) { [self headRefresh]; } } #pragma mark - UItableView刷新 - (NSMutableArray *)dataArray { if (!_dataArray) { _dataArray = [NSMutableArray array]; } return _dataArray; } - (void)setTableViewRefresh{ WeakSelf(self) self.tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ [weakself headRefresh]; }]; self.tableView.mj_footer = [MJRefreshBackStateFooter footerWithRefreshingBlock:^{ [weakself footerRefresh]; }]; } - (void)headRefresh{ self.currentPage = 1; self.totalPage = 0; [self.dataArray removeAllObjects]; [self getData]; } - (void)footerRefresh{ self.currentPage += 1; if (self.totalRecord == self.dataArray.count) { self.currentPage --; [self.tableView.mj_footer endRefreshing]; return ; } [self getData]; } #pragma mark - 网络请求 - (void)getData { WS(weakSelf); NSDictionary * paraDict = @{@"GroupIds":@[@(self.GroupId)], @"UserId":@([AppUserModel sharedAppUserModel].Id), @"Key": self.searchText, @"Page":@(self.currentPage), @"PerPage": @(10), @"Sort":@"", @"IsDraft":@(1) }; SHOWLOADING [[HttpManager sharedHttpManager] POSTUrl:Host(API_APP_Topic_Page) parameters:paraDict responseStyle:JOSN success:^(id _Nonnull responseObject) { REMOVESHOW TopicListModel * model = [TopicListModel modelWithDictionary:responseObject]; weakSelf.totalRecord = model.Total; [weakSelf.dataArray addObjectsFromArray:model.Items]; [weakSelf.tableView.mj_header endRefreshing]; [weakSelf.tableView.mj_footer endRefreshing]; dispatch_async(dispatch_get_main_queue(), ^{ [weakSelf.tableView reloadData]; }); } failure:^(NSError * _Nonnull error) { REMOVESHOW }]; } #pragma mark - UITableViewDelegate - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return self.dataArray.count; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return 1; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { WS(weakSelf); TopicListItemModel * model = [self.dataArray objectAtIndex:(indexPath.section)]; switch (model.DataType) { case TopiclistCellImage: { TDGroupInfoListCell * cell; switch (model.Data.count) { case 1: { cell = [TDGroupInfoListCell configCell1:tableView indexPath:indexPath]; cell.cellImagV1.hidden = NO; cell.cellImagV2.hidden = YES; cell.cellImagV3.hidden = YES; cell.cellImagV4.hidden = YES; cell.cellImagV5.hidden = YES; cell.cellImagV6.hidden = YES; cell.cellImagV7.hidden = YES; cell.cellImagV8.hidden = YES; cell.cellImagV9.hidden = YES; TopicListSubModel * subModel0 = model.Data[0]; [cell.cellImagV1 sd_setImageWithURL:[NSURL URLWithString:subModel0.File] placeholderImage:IMG(@"img_placeHolderVertical")]; } break; case 2: { cell = [TDGroupInfoListCell configCell1:tableView indexPath:indexPath]; cell.cellImagV1.hidden = NO; cell.cellImagV2.hidden = NO; cell.cellImagV3.hidden = YES; cell.cellImagV4.hidden = YES; cell.cellImagV5.hidden = YES; cell.cellImagV6.hidden = YES; cell.cellImagV7.hidden = YES; cell.cellImagV8.hidden = YES; cell.cellImagV9.hidden = YES; TopicListSubModel * subModel0 = model.Data[0]; [cell.cellImagV1 sd_setImageWithURL:[NSURL URLWithString:subModel0.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel1 = model.Data[1]; [cell.cellImagV2 sd_setImageWithURL:[NSURL URLWithString:subModel1.File] placeholderImage:IMG(@"img_placeHolderVertical")]; } break; case 3: { cell = [TDGroupInfoListCell configCell2:tableView indexPath:indexPath]; cell.cellImagV1.hidden = NO; cell.cellImagV2.hidden = NO; cell.cellImagV3.hidden = NO; cell.cellImagV4.hidden = YES; cell.cellImagV5.hidden = YES; cell.cellImagV6.hidden = YES; cell.cellImagV7.hidden = YES; cell.cellImagV8.hidden = YES; cell.cellImagV9.hidden = YES; TopicListSubModel * subModel0 = model.Data[0]; [cell.cellImagV1 sd_setImageWithURL:[NSURL URLWithString:subModel0.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel1 = model.Data[1]; [cell.cellImagV2 sd_setImageWithURL:[NSURL URLWithString:subModel1.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel2 = model.Data[2]; [cell.cellImagV3 sd_setImageWithURL:[NSURL URLWithString:subModel2.File] placeholderImage:IMG(@"img_placeHolderVertical")]; } break; case 4: { cell = [TDGroupInfoListCell configCell3:tableView indexPath:indexPath]; cell.cellImagV1.hidden = NO; cell.cellImagV2.hidden = NO; cell.cellImagV3.hidden = NO; cell.cellImagV4.hidden = NO; cell.cellImagV5.hidden = YES; cell.cellImagV6.hidden = YES; cell.cellImagV7.hidden = YES; cell.cellImagV8.hidden = YES; cell.cellImagV9.hidden = YES; TopicListSubModel * subModel0 = model.Data[0]; [cell.cellImagV1 sd_setImageWithURL:[NSURL URLWithString:subModel0.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel1 = model.Data[1]; [cell.cellImagV2 sd_setImageWithURL:[NSURL URLWithString:subModel1.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel2 = model.Data[2]; [cell.cellImagV3 sd_setImageWithURL:[NSURL URLWithString:subModel2.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel3 = model.Data[3]; [cell.cellImagV4 sd_setImageWithURL:[NSURL URLWithString:subModel3.File] placeholderImage:IMG(@"img_placeHolderVertical")]; } break; case 5: { cell = [TDGroupInfoListCell configCell4:tableView indexPath:indexPath]; cell.cellImagV1.hidden = NO; cell.cellImagV2.hidden = NO; cell.cellImagV3.hidden = NO; cell.cellImagV4.hidden = NO; cell.cellImagV5.hidden = NO; cell.cellImagV6.hidden = YES; cell.cellImagV7.hidden = YES; cell.cellImagV8.hidden = YES; cell.cellImagV9.hidden = YES; TopicListSubModel * subModel0 = model.Data[0]; [cell.cellImagV1 sd_setImageWithURL:[NSURL URLWithString:subModel0.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel1 = model.Data[1]; [cell.cellImagV2 sd_setImageWithURL:[NSURL URLWithString:subModel1.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel2 = model.Data[2]; [cell.cellImagV3 sd_setImageWithURL:[NSURL URLWithString:subModel2.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel3 = model.Data[3]; [cell.cellImagV4 sd_setImageWithURL:[NSURL URLWithString:subModel3.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel4 = model.Data[4]; [cell.cellImagV5 sd_setImageWithURL:[NSURL URLWithString:subModel4.File] placeholderImage:IMG(@"img_placeHolderVertical")]; } break; case 6: { cell = [TDGroupInfoListCell configCell4:tableView indexPath:indexPath]; cell.cellImagV1.hidden = NO; cell.cellImagV2.hidden = NO; cell.cellImagV3.hidden = NO; cell.cellImagV4.hidden = NO; cell.cellImagV5.hidden = NO; cell.cellImagV6.hidden = NO; cell.cellImagV7.hidden = YES; cell.cellImagV8.hidden = YES; cell.cellImagV9.hidden = YES; TopicListSubModel * subModel0 = model.Data[0]; [cell.cellImagV1 sd_setImageWithURL:[NSURL URLWithString:subModel0.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel1 = model.Data[1]; [cell.cellImagV2 sd_setImageWithURL:[NSURL URLWithString:subModel1.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel2 = model.Data[2]; [cell.cellImagV3 sd_setImageWithURL:[NSURL URLWithString:subModel2.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel3 = model.Data[3]; [cell.cellImagV4 sd_setImageWithURL:[NSURL URLWithString:subModel3.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel4 = model.Data[4]; [cell.cellImagV5 sd_setImageWithURL:[NSURL URLWithString:subModel4.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel5 = model.Data[5]; [cell.cellImagV6 sd_setImageWithURL:[NSURL URLWithString:subModel5.File] placeholderImage:IMG(@"img_placeHolderVertical")]; } break; case 7: { cell = [TDGroupInfoListCell configCell5:tableView indexPath:indexPath]; cell.cellImagV1.hidden = NO; cell.cellImagV2.hidden = NO; cell.cellImagV3.hidden = NO; cell.cellImagV4.hidden = NO; cell.cellImagV5.hidden = NO; cell.cellImagV6.hidden = NO; cell.cellImagV7.hidden = NO; cell.cellImagV8.hidden = YES; cell.cellImagV9.hidden = YES; TopicListSubModel * subModel0 = model.Data[0]; [cell.cellImagV1 sd_setImageWithURL:[NSURL URLWithString:subModel0.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel1 = model.Data[1]; [cell.cellImagV2 sd_setImageWithURL:[NSURL URLWithString:subModel1.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel2 = model.Data[2]; [cell.cellImagV3 sd_setImageWithURL:[NSURL URLWithString:subModel2.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel3 = model.Data[3]; [cell.cellImagV4 sd_setImageWithURL:[NSURL URLWithString:subModel3.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel4 = model.Data[4]; [cell.cellImagV5 sd_setImageWithURL:[NSURL URLWithString:subModel4.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel5 = model.Data[5]; [cell.cellImagV6 sd_setImageWithURL:[NSURL URLWithString:subModel5.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel6 = model.Data[6]; [cell.cellImagV7 sd_setImageWithURL:[NSURL URLWithString:subModel6.File] placeholderImage:IMG(@"img_placeHolderVertical")]; } break; case 8: { cell = [TDGroupInfoListCell configCell5:tableView indexPath:indexPath]; cell.cellImagV1.hidden = NO; cell.cellImagV2.hidden = NO; cell.cellImagV3.hidden = NO; cell.cellImagV4.hidden = NO; cell.cellImagV5.hidden = NO; cell.cellImagV6.hidden = NO; cell.cellImagV7.hidden = NO; cell.cellImagV8.hidden = NO; cell.cellImagV9.hidden = YES; TopicListSubModel * subModel0 = model.Data[0]; [cell.cellImagV1 sd_setImageWithURL:[NSURL URLWithString:subModel0.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel1 = model.Data[1]; [cell.cellImagV2 sd_setImageWithURL:[NSURL URLWithString:subModel1.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel2 = model.Data[2]; [cell.cellImagV3 sd_setImageWithURL:[NSURL URLWithString:subModel2.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel3 = model.Data[3]; [cell.cellImagV4 sd_setImageWithURL:[NSURL URLWithString:subModel3.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel4 = model.Data[4]; [cell.cellImagV5 sd_setImageWithURL:[NSURL URLWithString:subModel4.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel5 = model.Data[5]; [cell.cellImagV6 sd_setImageWithURL:[NSURL URLWithString:subModel5.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel6 = model.Data[6]; [cell.cellImagV7 sd_setImageWithURL:[NSURL URLWithString:subModel6.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel7 = model.Data[7]; [cell.cellImagV8 sd_setImageWithURL:[NSURL URLWithString:subModel7.File] placeholderImage:IMG(@"img_placeHolderVertical")]; } break; default: { cell = [TDGroupInfoListCell configCell5:tableView indexPath:indexPath]; cell.cellImagV1.hidden = NO; cell.cellImagV2.hidden = NO; cell.cellImagV3.hidden = NO; cell.cellImagV4.hidden = NO; cell.cellImagV5.hidden = NO; cell.cellImagV6.hidden = NO; cell.cellImagV7.hidden = NO; cell.cellImagV8.hidden = NO; cell.cellImagV9.hidden = NO; TopicListSubModel * subModel0 = model.Data[0]; [cell.cellImagV1 sd_setImageWithURL:[NSURL URLWithString:subModel0.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel1 = model.Data[1]; [cell.cellImagV2 sd_setImageWithURL:[NSURL URLWithString:subModel1.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel2 = model.Data[2]; [cell.cellImagV3 sd_setImageWithURL:[NSURL URLWithString:subModel2.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel3 = model.Data[3]; [cell.cellImagV4 sd_setImageWithURL:[NSURL URLWithString:subModel3.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel4 = model.Data[4]; [cell.cellImagV5 sd_setImageWithURL:[NSURL URLWithString:subModel4.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel5 = model.Data[5]; [cell.cellImagV6 sd_setImageWithURL:[NSURL URLWithString:subModel5.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel6 = model.Data[6]; [cell.cellImagV7 sd_setImageWithURL:[NSURL URLWithString:subModel6.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel7 = model.Data[7]; [cell.cellImagV8 sd_setImageWithURL:[NSURL URLWithString:subModel7.File] placeholderImage:IMG(@"img_placeHolderVertical")]; TopicListSubModel * subModel8 = model.Data[8]; [cell.cellImagV9 sd_setImageWithURL:[NSURL URLWithString:subModel8.File] placeholderImage:IMG(@"img_placeHolderVertical")]; } break; } [cell.cellIconV sd_setImageWithURL:[NSURL URLWithString:model.AvatarUrl] placeholderImage:kUserDefaultHeadImage]; cell.fileBtn.hidden = YES; cell.rightView.hidden = YES; cell.cellTimeL.text = [model.CreatedDate substringWithRange:NSMakeRange(5, 11)]; cell.celltitleL.attributedText = [self setTitleWithStr:model.Title]; cell.cellContentL.attributedText = [self setTextWithStr:model.Content]; cell.cellNameL.text = model.UserName; cell.cellReadNumL.text = [NSString stringWithFormat:@"阅读:%ld",(long)model.ReadCount]; [cell.cellLikeBtn setAction:^{ NSDictionary * paraDict = @{@"SourceId":@(model.Id), @"TypeValue":@(2), @"AnalyzeType":@(1) }; cell.cellLikeBtn.enabled = NO; [[HttpManager sharedHttpManager] POSTUrl:Host(API_APP_Analyze_Set) parameters:paraDict responseStyle:DATA success:^(id _Nonnull responseObject) { cell.cellLikeBtn.enabled = YES; model.IsPraise = !model.IsPraise; model.PraiseCount = model.IsPraise ? (model.PraiseCount + 1) : (model.PraiseCount - 1); dispatch_async(dispatch_get_main_queue(), ^{ [weakSelf.tableView reloadRow:indexPath.row inSection:indexPath.section withRowAnimation:UITableViewRowAnimationNone]; }); } failure:^(NSError * _Nonnull error) { cell.cellLikeBtn.enabled = YES; }]; }]; if (model.CommentCount > 0) { [cell.cellPingBtn setTitle:[NSString stringWithFormat:@"%ld",(long)model.CommentCount] forState:UIControlStateNormal]; }else{ [cell.cellPingBtn setTitle:@"评论" forState:UIControlStateNormal]; } if (model.PraiseCount > 0) { if (!model.IsPraise) { [cell.cellLikeBtn setTitle:@"赞" forState:UIControlStateNormal]; }else{ [cell.cellLikeBtn setTitle:[NSString stringWithFormat:@"%ld",(long)model.PraiseCount] forState:UIControlStateNormal]; } }else{ [cell.cellLikeBtn setTitle:@"赞" forState:UIControlStateNormal]; } if (model.IsPraise) { [cell.cellLikeBtn setTitleColor:UIColorHex(#009AFF) forState:UIControlStateNormal]; [cell.cellLikeBtn setImage:[UIImage imageNamed:@"收藏_赞_select"] forState:UIControlStateNormal]; }else{ [cell.cellLikeBtn setTitleColor:UIColorHex(#999999) forState:UIControlStateNormal]; [cell.cellLikeBtn setImage:[UIImage imageNamed:@"收藏_赞"] forState:UIControlStateNormal]; } [cell.cellPingBtn setAction:^{ }]; [cell.cellSendBtn setAction:^{ }]; if (model.Title.length == 0) { cell.TitleConstant.constant = 0; }else{ cell.TitleConstant.constant = 10.f; } if (model.Content.length == 0) { cell.subTitleContant.constant = 0.f; }else{ cell.subTitleContant.constant = 7.5f; } cell.ClickUserBlock = ^{ [weakSelf showUserInfo:model.UserId]; }; cell.bottomView.hidden = YES; cell.bottomHeight.constant = 0.f; return cell; } break; case TopiclistCellNone: { TDGroupInfoListCell * cell = [TDGroupInfoListCell configCell0:tableView indexPath:indexPath]; [cell.cellIconV sd_setImageWithURL:[NSURL URLWithString:model.AvatarUrl] placeholderImage:kUserDefaultHeadImage]; cell.fileBtn.hidden = YES; cell.rightView.hidden = YES; cell.cellNameL.text = model.UserName; cell.cellTimeL.text = [model.CreatedDate substringWithRange:NSMakeRange(5, 11)]; cell.celltitleL.attributedText = [self setTitleWithStr:model.Title]; cell.cellContentL.attributedText = [self setTextWithStr:model.Content]; cell.cellReadNumL.text = [NSString stringWithFormat:@"阅读:%ld",(long)model.ReadCount]; [cell.cellLikeBtn setAction:^{ NSDictionary * paraDict = @{@"SourceId":@(model.Id), @"TypeValue":@(2), @"AnalyzeType":@(1) }; cell.cellLikeBtn.enabled = NO; [[HttpManager sharedHttpManager] POSTUrl:Host(API_APP_Analyze_Set) parameters:paraDict responseStyle:DATA success:^(id _Nonnull responseObject) { cell.cellLikeBtn.enabled = YES; model.IsPraise = !model.IsPraise; model.PraiseCount = model.IsPraise ? (model.PraiseCount + 1) : (model.PraiseCount - 1); dispatch_async(dispatch_get_main_queue(), ^{ [weakSelf.tableView reloadRow:indexPath.row inSection:indexPath.section withRowAnimation:UITableViewRowAnimationNone]; }); } failure:^(NSError * _Nonnull error) { cell.cellLikeBtn.enabled = YES; }]; }]; if (model.CommentCount > 0) { [cell.cellPingBtn setTitle:[NSString stringWithFormat:@"%ld",(long)model.CommentCount] forState:UIControlStateNormal]; }else{ [cell.cellPingBtn setTitle:@"评论" forState:UIControlStateNormal]; } if (model.PraiseCount > 0) { if (!model.IsPraise) { [cell.cellLikeBtn setTitle:@"赞" forState:UIControlStateNormal]; }else{ [cell.cellLikeBtn setTitle:[NSString stringWithFormat:@"%ld",(long)model.PraiseCount] forState:UIControlStateNormal]; } }else{ [cell.cellLikeBtn setTitle:@"赞" forState:UIControlStateNormal]; } if (model.IsPraise) { [cell.cellLikeBtn setTitleColor:UIColorHex(#009AFF) forState:UIControlStateNormal]; [cell.cellLikeBtn setImage:[UIImage imageNamed:@"收藏_赞_select"] forState:UIControlStateNormal]; }else{ [cell.cellLikeBtn setTitleColor:UIColorHex(#999999) forState:UIControlStateNormal]; [cell.cellLikeBtn setImage:[UIImage imageNamed:@"收藏_赞"] forState:UIControlStateNormal]; } [cell.cellPingBtn setAction:^{ }]; [cell.cellSendBtn setAction:^{ }]; if (model.Title.length == 0) { cell.TitleConstant.constant = 0; }else{ cell.TitleConstant.constant = 10.f; } if (model.Content.length == 0) { cell.subTitleContant.constant = 0.f; }else{ cell.subTitleContant.constant = 7.5f; } cell.ClickUserBlock = ^{ [weakSelf showUserInfo:model.UserId]; }; cell.bottomView.hidden = YES; cell.bottomHeight.constant = 0.f; return cell; } break; case TopiclistCellFile: { TDGroupInfoListCell * cell = [TDGroupInfoListCell configCell6:tableView indexPath:indexPath]; [cell.cellIconV sd_setImageWithURL:[NSURL URLWithString:model.AvatarUrl] placeholderImage:kUserDefaultHeadImage]; cell.fileBtn.hidden = YES; cell.rightView.hidden = YES; cell.cellNameL.text = model.UserName; cell.cellTimeL.text = [model.CreatedDate substringWithRange:NSMakeRange(5, 11)]; cell.celltitleL.attributedText = [self setTitleWithStr:model.Title]; cell.cellContentL.attributedText = [self setTextWithStr:model.Content]; cell.cellReadNumL.text = [NSString stringWithFormat:@"阅读:%ld",(long)model.ReadCount]; [cell.cellLikeBtn setAction:^{ NSDictionary * paraDict = @{@"SourceId":@(model.Id), @"TypeValue":@(2), @"AnalyzeType":@(1) }; cell.cellLikeBtn.enabled = NO; [[HttpManager sharedHttpManager] POSTUrl:Host(API_APP_Analyze_Set) parameters:paraDict responseStyle:DATA success:^(id _Nonnull responseObject) { cell.cellLikeBtn.enabled = YES; model.IsPraise = !model.IsPraise; model.PraiseCount = model.IsPraise ? (model.PraiseCount + 1) : (model.PraiseCount - 1); dispatch_async(dispatch_get_main_queue(), ^{ [weakSelf.tableView reloadRow:indexPath.row inSection:indexPath.section withRowAnimation:UITableViewRowAnimationNone]; }); } failure:^(NSError * _Nonnull error) { cell.cellLikeBtn.enabled = YES; }]; }]; [cell.ClickFileAction setAction:^{ }]; [cell setDataWithCell6:model.Data.firstObject]; if (model.CommentCount > 0) { [cell.cellPingBtn setTitle:[NSString stringWithFormat:@"%ld",(long)model.CommentCount] forState:UIControlStateNormal]; }else{ [cell.cellPingBtn setTitle:@"评论" forState:UIControlStateNormal]; } if (model.PraiseCount > 0) { if (!model.IsPraise) { [cell.cellLikeBtn setTitle:@"赞" forState:UIControlStateNormal]; }else{ [cell.cellLikeBtn setTitle:[NSString stringWithFormat:@"%ld",(long)model.PraiseCount] forState:UIControlStateNormal]; } }else{ [cell.cellLikeBtn setTitle:@"赞" forState:UIControlStateNormal]; } if (model.IsPraise) { [cell.cellLikeBtn setTitleColor:UIColorHex(#009AFF) forState:UIControlStateNormal]; [cell.cellLikeBtn setImage:[UIImage imageNamed:@"收藏_赞_select"] forState:UIControlStateNormal]; }else{ [cell.cellLikeBtn setTitleColor:UIColorHex(#999999) forState:UIControlStateNormal]; [cell.cellLikeBtn setImage:[UIImage imageNamed:@"收藏_赞"] forState:UIControlStateNormal]; } [cell.cellPingBtn setAction:^{ }]; [cell.cellSendBtn setAction:^{ }]; if (model.Title.length == 0) { cell.TitleConstant.constant = 0; }else{ cell.TitleConstant.constant = 10.f; } if (model.Content.length == 0) { cell.subTitleContant.constant = 0.f; }else{ cell.subTitleContant.constant = 7.5f; } cell.ClickUserBlock = ^{ [weakSelf showUserInfo:model.UserId]; }; cell.bottomView.hidden = YES; cell.bottomHeight.constant = 0.f; return cell; } break; default: { TopicBookCell * cell = [TopicBookCell configCell0:tableView indexPath:indexPath]; cell.titleL.text = model.Title; cell.imagV.image = IMG(@"Draft_Icon"); cell.countL.text = [NSString stringWithFormat:@"%ld",model.FileCount]; cell.enterBtn.hidden = YES; return cell; } break; } } - (void)showUserInfo:(NSInteger)userId { MailListDetailVC * vc = [MailListDetailVC initMailListDetailVC]; vc.indexId = userId; [self.navigationController pushViewController:vc animated:YES]; } - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { return 0.01f; } - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section { return 8.f; } - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { return [UIView new]; } - (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section { UIView * view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 8)]; view.backgroundColor = UIColorHex(#F5F6F8); return view; } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { WS(weakSelf); [tableView deselectRowAtIndexPath:indexPath animated:YES]; TopicListItemModel * model = [self.dataArray objectAtIndex:(indexPath.section)]; MyTDTopicCreateVC * vc = [MyTDTopicCreateVC initMyTDTopicCreateVC]; vc.type = CollectModel_Toipc; vc.isEdit = YES; vc.replayType = MailReplayEdit; vc.Id = model.Id; vc.FolderId = model.GroupId; vc.isFromDraft = YES; vc.upDateBlock = ^{ [weakSelf headRefresh]; }; [self.navigationController pushViewController:vc animated:YES]; } #pragma mark - UISwipeActionsConfiguration - (nullable UISwipeActionsConfiguration *)tableView:(UITableView *)tableView trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath *)indexPath API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos){ WS(weakSelf); TopicListItemModel * model = [self.dataArray objectAtIndex:(indexPath.section)]; UIContextualAction *action1 = [UIContextualAction contextualActionWithStyle:UIContextualActionStyleDestructive title:@"删除" handler:^(UIContextualAction * _Nonnull action, __kindof UIView * _Nonnull sourceView, void (^ _Nonnull completionHandler)(BOOL)) { [tableView setEditing:NO animated:YES]; UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:nil message:@"删除草稿后将无法恢复" preferredStyle:UIAlertControllerStyleAlert]; UIAlertAction *ok = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { dispatch_async(dispatch_get_main_queue(), ^{ [weakSelf.tableView reloadData]; }); }]; [ok setValue:k9 forKey:@"_titleTextColor"]; UIAlertAction *noOk = [UIAlertAction actionWithTitle:@"删除" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { [weakSelf deleteFind:model indexPath:indexPath]; }]; [noOk setValue:UIColorHex(0x0F7FD9) forKey:@"_titleTextColor"]; [alertVC addAction:ok]; [alertVC addAction:noOk]; [weakSelf presentViewController:alertVC animated:YES completion:nil]; completionHandler(YES); }]; action1.backgroundColor = RGB(255, 59, 47); UISwipeActionsConfiguration *actions = [UISwipeActionsConfiguration configurationWithActions:@[action1]]; actions.performsFirstActionWithFullSwipe = NO; return actions; } - (void)deleteFind:(TopicListItemModel *)model indexPath:(NSIndexPath *)indexPath{ WS(weakSelf); NSString * url = [NSString stringWithFormat:@"%@%ld",Host(APP_Topic_User_Get),model.Id]; [[HttpManager sharedHttpManager] DeleteUrl:url parameters:@{} responseStyle:DATA success:^(id _Nonnull responseObject) { [weakSelf.dataArray removeObjectAtIndex:indexPath.row]; dispatch_async(dispatch_get_main_queue(), ^{ [weakSelf.tableView reloadData]; }); } failure:^(NSError * _Nonnull error) { }]; } - (NSAttributedString *)setTextWithStr:(NSString *)str { if (str.length == 0) { return [[NSAttributedString alloc] initWithString:@""]; } NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:str]; [attributedString addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"PingFang SC" size:16] range:NSMakeRange(0, str.length)]; [attributedString addAttribute:NSForegroundColorAttributeName value:UIColorHex(#484848) range:NSMakeRange(0, str.length)]; [attributedString addAttribute:(NSString *)NSForegroundColorAttributeName value:UIColorHex(0xFF5252) range:[str rangeOfString:self.searchText]]; NSMutableParagraphStyle *paraStyle = [[NSMutableParagraphStyle alloc]init]; paraStyle.alignment = NSTextAlignmentJustified;//两端对齐 [paraStyle setLineSpacing:5];//行间距 [attributedString addAttribute:NSParagraphStyleAttributeName value:paraStyle range:NSMakeRange(0, str.length)]; [attributedString addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleNone] range:NSMakeRange(0, str.length)]; return attributedString; } - (NSAttributedString *)setTitleWithStr:(NSString *)str { if (str.length == 0) { return [[NSAttributedString alloc] initWithString:@""]; } NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:str]; [attributedString addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:18] range:NSMakeRange(0, str.length)]; [attributedString addAttribute:NSForegroundColorAttributeName value:UIColorHex(0x0a0a0a) range:NSMakeRange(0, str.length)]; [attributedString addAttribute:(NSString *)NSForegroundColorAttributeName value:UIColorHex(0xFF5252) range:[str rangeOfString:self.searchText]]; NSMutableParagraphStyle *paraStyle = [[NSMutableParagraphStyle alloc]init]; paraStyle.alignment = NSTextAlignmentJustified;//两端对齐 [paraStyle setLineSpacing:5];//行间距 [attributedString addAttribute:NSParagraphStyleAttributeName value:paraStyle range:NSMakeRange(0, str.length)]; [attributedString addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleNone] range:NSMakeRange(0, str.length)]; return attributedString; } @end