CommonListCell.m 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741
  1. //
  2. // CommonListCell.m
  3. // smartRhino
  4. //
  5. // Created by niuzhen on 2020/4/28.
  6. // Copyright © 2020 tederen. All rights reserved.
  7. //
  8. #import "CommonListCell.h"
  9. @implementation CommonListCell
  10. - (void)awakeFromNib {
  11. [super awakeFromNib];
  12. UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.iconShowL.bounds byRoundingCorners:UIRectCornerBottomLeft | UIRectCornerBottomRight cornerRadii:CGSizeMake(3, 3)];
  13. CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
  14. maskLayer.frame = self.iconShowL.bounds;
  15. maskLayer.path = maskPath.CGPath;
  16. self.iconShowL.layer.mask = maskLayer;
  17. }
  18. + (CGFloat)configCell0Height{
  19. return 72;
  20. }
  21. + (CommonListCell *)configCell0:(UITableView *)tableView indexPath:(NSIndexPath *)indexPath{
  22. static NSString *cellIdentifer = @"CommonListCell0";
  23. CommonListCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifer];
  24. if (cell == nil) {
  25. cell = [[[NSBundle mainBundle] loadNibNamed:@"CommonListCell" owner:nil options:nil] objectAtIndex:0];
  26. }
  27. cell.selectionStyle = UITableViewCellSelectionStyleNone;
  28. return cell;
  29. }
  30. + (CommonListCell *)configCell1:(UITableView *)tableView indexPath:(NSIndexPath *)indexPath{
  31. static NSString *cellIdentifer = @"CommonListCell1";
  32. CommonListCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifer];
  33. if (cell == nil) {
  34. cell = [[[NSBundle mainBundle] loadNibNamed:@"CommonListCell" owner:nil options:nil] objectAtIndex:1];
  35. }
  36. cell.selectionStyle = UITableViewCellSelectionStyleNone;
  37. return cell;
  38. }
  39. + (CommonListCell *)configCell2:(UITableView *)tableView indexPath:(NSIndexPath *)indexPath{
  40. static NSString *cellIdentifer = @"CommonListCell2";
  41. CommonListCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifer];
  42. if (cell == nil) {
  43. cell = [[[NSBundle mainBundle] loadNibNamed:@"CommonListCell" owner:nil options:nil] objectAtIndex:2];
  44. }
  45. cell.selectionStyle = UITableViewCellSelectionStyleNone;
  46. return cell;
  47. }
  48. - (void)setCell1Data:(MyFavoriteSubModel *)model
  49. {
  50. WS(weakSelf);
  51. self.nameL.hidden = NO;
  52. self.iconShowL.hidden = YES;
  53. self.comeBtn.hidden = YES;
  54. self.isTopV.hidden = !model.IsTop;
  55. [self.iconV removeAllSubviews];
  56. [self.titleL mas_remakeConstraints:^(MASConstraintMaker *make) {
  57. make.left.mas_equalTo(self.iconV.mas_right).offset(15);
  58. make.top.mas_offset(model.CollectionType == CollectModel_TopicBooK ? 40.25 : 15);
  59. make.height.mas_greaterThanOrEqualTo(20);
  60. make.width.mas_lessThanOrEqualTo(SCREEN_WIDTH - (model.IsTop ? 125 : 85));
  61. }];
  62. self.titleL.text = [model.Data.Title length] > 0 ? model.Data.Title : model.Title;
  63. self.nameL.text = [model.Data.Author length] > 0 ? model.Data.Author : @" ";
  64. [self.desBtn setTitle:[model.FolderName length] > 0 ? model.FolderName : @" " forState:UIControlStateNormal];
  65. switch (model.CollectionType) {
  66. // 文章
  67. case CollectModel_Aritle:{
  68. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.ArticleImgUrl.firstObject] placeholderImage:IMG(@"文章") completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
  69. if (image) {
  70. weakSelf.iconShowL.hidden = NO;
  71. }
  72. }];
  73. }break;
  74. case CollectModel_MediaAritle:{
  75. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.ArticleImgUrl.firstObject] placeholderImage:IMG(@"文章") completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
  76. if (image) {
  77. weakSelf.iconShowL.hidden = NO;
  78. }
  79. }];
  80. }break;
  81. // 话题 || 小组
  82. case CollectModel_Toipc:
  83. {
  84. self.iconV.image = IMG(@"话题");
  85. self.comeBtn.hidden = NO;
  86. [self.comeBtn setAttributedTitle:[self comeGroup:model.Data.GroupName] forState:UIControlStateNormal];
  87. }break;
  88. case CollectModel_NewTopic:
  89. {
  90. self.iconV.image = IMG(@"话题");
  91. }break;
  92. case CollectModel_Group:{
  93. self.iconV.image = IMG(@"笔记小组");
  94. }break;
  95. // 收藏
  96. case CollectModel_Collect:{
  97. self.iconV.image = IMG(@"收藏");
  98. }break;
  99. // 笔记
  100. case CollectModel_NoteBook: {
  101. self.iconV.image = IMG(@"noteBook_icon");
  102. }break;
  103. case CollectModel_CollectFile:{
  104. self.titleL.text = model.Title;
  105. self.iconV.image = IMG(@"find_1");
  106. self.comeBtn.hidden = NO;
  107. self.nameL.text = @"";
  108. self.comeLeft.constant = 0.f;
  109. [self.comeBtn setAttributedTitle:[self comeGroup:[NSString stringWithFormat:@"%@的收藏",model.Data.Author]] forState:UIControlStateNormal];
  110. }break;
  111. case CollectModel_NoteFile: {
  112. self.iconV.image = IMG(@"find_1");
  113. }break;
  114. case CollectModel_TopicSubBooK: {
  115. self.iconV.image = IMG(@"find_1");
  116. }break;
  117. // 通知 || 站内信
  118. case CollectModel_Notice:
  119. {
  120. self.iconV.image = IMG(@"通知图标");
  121. }break;
  122. case CollectModel_InterMail:{
  123. self.iconV.image = IMG(@"站内信");
  124. }break;
  125. // 会议
  126. case CollectModel_meetMian:
  127. {
  128. self.iconV.image = IMG(@"会议纪要");
  129. }
  130. break;
  131. case CollectModel_meetDetail:
  132. {
  133. self.iconV.image = IMG(@"会议");
  134. }
  135. break;
  136. case CollectModel_file:{
  137. NSString * imageStr = [ZYCTool getFileNameImage:model.Data.FileName];
  138. if (imageStr.length == 0) {
  139. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.File]];
  140. }else{
  141. self.iconV.image = IMG(imageStr);
  142. }
  143. }break;
  144. case CollectModel_work:
  145. {
  146. self.iconV.image = IMG(@"审批");
  147. }
  148. break;
  149. case CollectModel_StoreSound:
  150. {
  151. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.ArticleImgUrl.firstObject] placeholderImage:IMG(@"default_audio") completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
  152. dispatch_async(dispatch_get_main_queue(), ^{
  153. UIImageView * clearV = [UIImageView new];
  154. [weakSelf.iconV addSubview:clearV];
  155. clearV.image = IMG(@"clear_audio");
  156. [clearV mas_makeConstraints:^(MASConstraintMaker *make) {
  157. make.edges.mas_equalTo(weakSelf.iconV);
  158. }];
  159. });
  160. }];
  161. }
  162. break;
  163. case CollectModel_StoreVideo:
  164. {
  165. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.ArticleImgUrl.firstObject] placeholderImage:IMG(@"default_video") completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
  166. dispatch_async(dispatch_get_main_queue(), ^{
  167. UIImageView * clearV = [UIImageView new];
  168. [weakSelf.iconV addSubview:clearV];
  169. clearV.image = IMG(@"clear_video");
  170. [clearV mas_makeConstraints:^(MASConstraintMaker *make) {
  171. make.edges.mas_equalTo(weakSelf.iconV);
  172. }];
  173. });
  174. }];
  175. }
  176. break;
  177. case CollectModel_Organization:
  178. {
  179. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.AvatarUrl] placeholderImage:IMG(@"icon_weizhiwenjian")];
  180. }
  181. break;
  182. case CollectModel_StoreBook:
  183. {
  184. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.AvatarUrl] placeholderImage:IMG(@"icon_weizhiwenjian")];
  185. }
  186. break;
  187. case CollectModel_financeCount:
  188. {
  189. self.iconV.image = IMG(@"报表");
  190. }
  191. break;
  192. case CollectModel_affairsCount:
  193. {
  194. self.iconV.image = IMG(@"报表");
  195. }
  196. break;
  197. case CollectModel_publishCount:
  198. {
  199. self.iconV.image = IMG(@"报表");
  200. }
  201. break;
  202. default:{
  203. NSString * imageStr = [ZYCTool getFileNameImage:model.Title];
  204. if (imageStr.length == 0) {
  205. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.MinFile]];
  206. }else{
  207. self.iconV.image = IMG(imageStr);
  208. }
  209. }break;
  210. }
  211. }
  212. - (void)image:(UIImage *)image clearImage:(NSString *)clearImage IconV:(UIImageView *)imgV {
  213. UIImage *image1 = [UIImage imageNamed:clearImage];
  214. CGSize size = CGSizeMake([UIScreen mainScreen].bounds.size.width,[UIScreen mainScreen].bounds.size.height);
  215. UIGraphicsBeginImageContext(size);
  216. [image drawInRect:CGRectMake(0, 0, 40,40)];
  217. [image1 drawInRect:CGRectMake(0, 0, 40,40)];
  218. UIImage *ZImage = UIGraphicsGetImageFromCurrentImageContext();
  219. UIGraphicsEndImageContext();
  220. imgV.image = ZImage;
  221. }
  222. - (void)setCalayerImage:(UIImageView *)imgV image:(NSString *)image
  223. {
  224. CALayer *mask = [CALayer layer];
  225. mask.contents = (id)[[UIImage imageNamed:image] CGImage];
  226. mask.frame = CGRectMake(0, 0, 40, 40);
  227. imgV.layer.mask = mask;
  228. imgV.layer.masksToBounds = YES;
  229. }
  230. - (void)setCellTopicBookData:(MyFavoriteSubModel *)model
  231. {
  232. self.iconV.image = IMG(@"topicBook");
  233. self.isTopV.hidden = !model.IsTop;
  234. self.titleL.text = model.Data.Title;
  235. [self.desBtn setTitle:[model.FolderName length] > 0 ? model.FolderName : @" " forState:UIControlStateNormal];
  236. }
  237. - (void)setCellNoAuthorData:(MyFavoriteSubModel *)model
  238. {
  239. WS(weakSelf);
  240. self.nameL.hidden = NO;
  241. self.iconShowL.hidden = YES;
  242. self.comeBtn.hidden = YES;
  243. self.isTopV.hidden = !model.IsTop;
  244. self.titleL.text = [model.Data.Title length] > 0 ? model.Data.Title : model.Title;
  245. [self.desBtn setTitle:[model.FolderName length] > 0 ? model.FolderName : @"" forState:UIControlStateNormal];
  246. [self.iconV removeAllSubviews];
  247. switch (model.CollectionType) {
  248. // 文章
  249. case CollectModel_Aritle:{
  250. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.ArticleImgUrl.firstObject] placeholderImage:IMG(@"文章") completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
  251. if (image) {
  252. weakSelf.iconShowL.hidden = NO;
  253. }
  254. }];
  255. }break;
  256. // 话题 || 小组
  257. case CollectModel_Toipc:
  258. {
  259. self.iconV.image = IMG(@"话题");
  260. self.comeBtn.hidden = NO;
  261. [self.comeBtn setAttributedTitle:[self comeGroup:model.Data.GroupName] forState:UIControlStateNormal];
  262. }break;
  263. case CollectModel_NewTopic:
  264. {
  265. self.iconV.image = IMG(@"话题");
  266. }break;
  267. case CollectModel_Group:{
  268. self.iconV.image = IMG(@"笔记小组");
  269. }break;
  270. // 收藏
  271. case CollectModel_Collect:{
  272. self.iconV.image = IMG(@"收藏");
  273. }break;
  274. // 笔记
  275. case CollectModel_NoteBook: {
  276. self.iconV.image = IMG(@"noteBook_icon");
  277. }break;
  278. case CollectModel_CollectFile:{
  279. self.titleL.text = model.Title;
  280. self.iconV.image = IMG(@"find_1");
  281. self.comeBtn.hidden = NO;
  282. self.nameL.text = @"";
  283. self.comeLeft.constant = 0.f;
  284. [self.comeBtn setAttributedTitle:[self comeGroup:[NSString stringWithFormat:@"%@的收藏",model.Data.Author]] forState:UIControlStateNormal];
  285. }break;
  286. case CollectModel_NoteFile: {
  287. self.iconV.image = IMG(@"find_1");
  288. }break;
  289. case CollectModel_TopicSubBooK: {
  290. self.iconV.image = IMG(@"find_1");
  291. }break;
  292. // 通知 || 站内信
  293. case CollectModel_Notice:
  294. {
  295. self.iconV.image = IMG(@"通知图标");
  296. }break;
  297. case CollectModel_InterMail:{
  298. self.iconV.image = IMG(@"站内信");
  299. }break;
  300. // 会议
  301. case CollectModel_meetMian:
  302. {
  303. self.iconV.image = IMG(@"会议纪要");
  304. }
  305. break;
  306. case CollectModel_meetDetail:
  307. {
  308. self.iconV.image = IMG(@"会议");
  309. }
  310. break;
  311. case CollectModel_file:{
  312. NSString * imageStr = [ZYCTool getFileNameImage:model.Data.FileName];
  313. if (imageStr.length == 0) {
  314. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.File]];
  315. }else{
  316. self.iconV.image = IMG(imageStr);
  317. }
  318. }
  319. break;
  320. case CollectModel_work:
  321. {
  322. self.iconV.image = IMG(@"审批");
  323. }
  324. break;
  325. case CollectModel_financeCount:
  326. {
  327. self.iconV.image = IMG(@"报表");
  328. }
  329. break;
  330. case CollectModel_StoreSound:
  331. {
  332. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.ArticleImgUrl.firstObject] placeholderImage:IMG(@"default_audio") completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
  333. dispatch_async(dispatch_get_main_queue(), ^{
  334. UIImageView * clearV = [UIImageView new];
  335. [weakSelf.iconV addSubview:clearV];
  336. clearV.image = IMG(@"clear_audio");
  337. [clearV mas_makeConstraints:^(MASConstraintMaker *make) {
  338. make.edges.mas_equalTo(weakSelf.iconV);
  339. }];
  340. });
  341. }];
  342. }
  343. break;
  344. case CollectModel_StoreVideo:
  345. {
  346. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.ArticleImgUrl.firstObject] placeholderImage:IMG(@"default_video") completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
  347. dispatch_async(dispatch_get_main_queue(), ^{
  348. UIImageView * clearV = [UIImageView new];
  349. [weakSelf.iconV addSubview:clearV];
  350. clearV.image = IMG(@"clear_video");
  351. [clearV mas_makeConstraints:^(MASConstraintMaker *make) {
  352. make.edges.mas_equalTo(weakSelf.iconV);
  353. }];
  354. });
  355. }];
  356. }
  357. break;
  358. case CollectModel_Teacher:
  359. {
  360. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.AvatarUrl] placeholderImage:IMG(@"icon_weizhiwenjian")];
  361. self.titleL.text = model.Data.Author;
  362. self.nameL.hidden = YES;
  363. }
  364. break;
  365. case CollectModel_Organization:
  366. {
  367. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.AvatarUrl] placeholderImage:IMG(@"icon_weizhiwenjian")];
  368. self.titleL.text = model.Data.Author;
  369. self.nameL.hidden = YES;
  370. }
  371. break;
  372. case CollectModel_affairsCount:
  373. {
  374. self.iconV.image = IMG(@"报表");
  375. }
  376. break;
  377. case CollectModel_publishCount:
  378. {
  379. self.iconV.image = IMG(@"报表");
  380. }
  381. break;
  382. default:{
  383. NSString * imageStr = [ZYCTool getFileNameImage:model.Title];
  384. if (imageStr.length == 0) {
  385. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.MinFile]];
  386. }else{
  387. self.iconV.image = IMG(imageStr);
  388. }
  389. }break;
  390. }
  391. }
  392. - (void)setCellNoAuthorData:(MyFavoriteSubModel *)model withText:(NSString *)text
  393. {
  394. WS(weakSelf);
  395. self.nameL.hidden = NO;
  396. self.iconShowL.hidden = YES;
  397. self.comeBtn.hidden = YES;
  398. self.isTopV.hidden = !model.IsTop;
  399. self.titleL.attributedText = [ZYCTool checkOfString:model.Data.Title withSearchText:text withColor:UIColorHex(0xFF5252)];
  400. self.nameL.attributedText = [model.Data.Author length] > 0 ? [ZYCTool checkOfString:model.Data.Author withSearchText:text withColor:UIColorHex(0xFF5252)] : [[NSAttributedString alloc] initWithString:@" "];
  401. [self.desBtn setAttributedTitle:[model.FolderName length] > 0 ? [ZYCTool checkOfString:model.FolderName withSearchText:text withColor:UIColorHex(0xFF5252)] : [[NSAttributedString alloc] initWithString:@" "] forState:UIControlStateNormal];
  402. [self.iconV removeAllSubviews];
  403. switch (model.CollectionType) {
  404. // 文章
  405. case CollectModel_Aritle:{
  406. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.ArticleImgUrl.firstObject] placeholderImage:IMG(@"文章")];
  407. }break;
  408. // 话题 || 小组
  409. case CollectModel_Toipc:
  410. {
  411. self.iconV.image = IMG(@"话题");
  412. self.comeBtn.hidden = NO;
  413. [self.comeBtn setAttributedTitle:[self comeGroup:model.GroupName] forState:UIControlStateNormal];
  414. }break;
  415. case CollectModel_NewTopic:
  416. {
  417. self.iconV.image = IMG(@"话题");
  418. }break;
  419. case CollectModel_Group:{
  420. self.iconV.image = IMG(@"笔记小组");
  421. }break;
  422. // 收藏
  423. case CollectModel_Collect:{
  424. self.iconV.image = IMG(@"收藏");
  425. }break;
  426. // 笔记
  427. case CollectModel_NoteBook: {
  428. self.iconV.image = IMG(@"noteBook_icon");
  429. }break;
  430. case CollectModel_CollectFile:{
  431. self.titleL.attributedText = [ZYCTool checkOfString:model.Title withSearchText:text withColor:UIColorHex(0xFF5252)];
  432. self.iconV.image = IMG(@"find_1");
  433. self.comeBtn.hidden = NO;
  434. self.nameL.text = @"";
  435. self.comeLeft.constant = 0.f;
  436. [self.comeBtn setAttributedTitle:[self comeGroup:[NSString stringWithFormat:@"%@的收藏",model.Data.Author]] forState:UIControlStateNormal];
  437. }break;
  438. case CollectModel_NoteFile: {
  439. self.iconV.image = IMG(@"find_1");
  440. }break;
  441. case CollectModel_TopicBooK:{
  442. self.iconV.image = IMG(@"topicBook");
  443. }break;
  444. case CollectModel_TopicSubBooK: {
  445. self.iconV.image = IMG(@"find_1");
  446. }break;
  447. // 通知 || 站内信
  448. case CollectModel_Notice:
  449. {
  450. self.iconV.image = IMG(@"通知图标");
  451. }break;
  452. case CollectModel_InterMail:{
  453. self.iconV.image = IMG(@"站内信");
  454. }break;
  455. // 会议
  456. case CollectModel_meetMian:
  457. {
  458. self.iconV.image = IMG(@"会议纪要");
  459. }
  460. break;
  461. case CollectModel_meetDetail:
  462. {
  463. self.iconV.image = IMG(@"会议");
  464. }
  465. break;
  466. case CollectModel_file:{
  467. NSString * imageStr = [ZYCTool getFileNameImage:model.Data.FileName];
  468. if (imageStr.length == 0) {
  469. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.File]];
  470. }else{
  471. self.iconV.image = IMG(imageStr);
  472. }
  473. }break;
  474. case CollectModel_work:
  475. {
  476. self.iconV.image = IMG(@"审批");
  477. }
  478. break;
  479. case CollectModel_StoreSound:
  480. {
  481. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.ArticleImgUrl.firstObject] placeholderImage:IMG(@"default_audio") completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
  482. dispatch_async(dispatch_get_main_queue(), ^{
  483. UIImageView * clearV = [UIImageView new];
  484. [weakSelf.iconV addSubview:clearV];
  485. clearV.image = IMG(@"clear_audio");
  486. [clearV mas_makeConstraints:^(MASConstraintMaker *make) {
  487. make.edges.mas_equalTo(weakSelf.iconV);
  488. }];
  489. });
  490. }];
  491. }
  492. break;
  493. case CollectModel_StoreVideo:
  494. {
  495. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.ArticleImgUrl.firstObject] placeholderImage:IMG(@"default_video") completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
  496. dispatch_async(dispatch_get_main_queue(), ^{
  497. UIImageView * clearV = [UIImageView new];
  498. [weakSelf.iconV addSubview:clearV];
  499. clearV.image = IMG(@"clear_video");
  500. [clearV mas_makeConstraints:^(MASConstraintMaker *make) {
  501. make.edges.mas_equalTo(weakSelf.iconV);
  502. }];
  503. });
  504. }];
  505. }
  506. break;
  507. case CollectModel_Teacher:
  508. {
  509. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.AvatarUrl] placeholderImage:IMG(@"icon_weizhiwenjian")];
  510. self.titleL.attributedText = [model.Data.Author length] > 0 ? [ZYCTool checkOfString:model.Data.Author withSearchText:text withColor:UIColorHex(0xFF5252)] : [[NSAttributedString alloc] initWithString:@" "];
  511. self.nameL.hidden = YES;
  512. }
  513. break;
  514. case CollectModel_Organization:
  515. {
  516. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.AvatarUrl] placeholderImage:IMG(@"icon_weizhiwenjian")];
  517. }
  518. break;
  519. case CollectModel_StoreBook:
  520. {
  521. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.AvatarUrl] placeholderImage:IMG(@"icon_weizhiwenjian")];
  522. }
  523. break;
  524. case CollectModel_financeCount:
  525. {
  526. self.iconV.image = IMG(@"报表");
  527. }
  528. break;
  529. case CollectModel_affairsCount:
  530. {
  531. self.iconV.image = IMG(@"报表");
  532. }
  533. break;
  534. case CollectModel_publishCount:
  535. {
  536. self.iconV.image = IMG(@"报表");
  537. }
  538. break;
  539. default:{
  540. NSString * imageStr = [ZYCTool getFileNameImage:model.Data.FileName];
  541. if (imageStr.length == 0) {
  542. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.MinFile]];
  543. }else{
  544. self.iconV.image = IMG(imageStr);
  545. }
  546. }break;
  547. }
  548. }
  549. - (void)setCellData:(MyFavoriteSubModel *)model withText:(NSString *)text
  550. {
  551. WS(weakSelf);
  552. self.nameL.hidden = NO;
  553. self.iconShowL.hidden = YES;
  554. self.comeBtn.hidden = YES;
  555. self.isTopV.hidden = !model.IsTop;
  556. self.isTopV.hidden = !model.IsTop;
  557. self.titleL.attributedText = [ZYCTool checkOfString:model.Data.Title withSearchText:text withColor:UIColorHex(0xFF5252)];
  558. self.nameL.attributedText = [model.Data.Author length] > 0 ? [ZYCTool checkOfString:model.Data.Author withSearchText:text withColor:UIColorHex(0xFF5252)] : [[NSAttributedString alloc] initWithString:@" "];
  559. [self.desBtn setAttributedTitle:[model.FolderName length] > 0 ? [ZYCTool checkOfString:model.FolderName withSearchText:text withColor:UIColorHex(0xFF5252)] : [[NSAttributedString alloc] initWithString:@" "] forState:UIControlStateNormal];
  560. self.comeBtn.hidden = YES;
  561. switch (model.CollectionType) {
  562. // 文章
  563. case CollectModel_Aritle:{
  564. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.ArticleImgUrl.firstObject] placeholderImage:IMG(@"文章")];
  565. }break;
  566. // 话题 || 小组
  567. case CollectModel_Toipc:
  568. {
  569. self.iconV.image = IMG(@"话题");
  570. self.comeBtn.hidden = NO;
  571. [self.comeBtn setAttributedTitle:[self comeGroup:model.GroupName] forState:UIControlStateNormal];
  572. }break;
  573. case CollectModel_NewTopic:
  574. {
  575. self.iconV.image = IMG(@"话题");
  576. }break;
  577. case CollectModel_Group:{
  578. self.iconV.image = IMG(@"笔记小组");
  579. }break;
  580. // 收藏
  581. case CollectModel_Collect:{
  582. self.iconV.image = IMG(@"收藏");
  583. }break;
  584. // 笔记
  585. case CollectModel_NoteBook: {
  586. self.iconV.image = IMG(@"noteBook_icon");
  587. }break;
  588. case CollectModel_CollectFile:{
  589. self.titleL.attributedText = [ZYCTool checkOfString:model.Title withSearchText:text withColor:UIColorHex(0xFF5252)];
  590. self.iconV.image = IMG(@"find_1");
  591. self.comeBtn.hidden = NO;
  592. self.nameL.text = @"";
  593. self.comeLeft.constant = 0.f;
  594. [self.comeBtn setAttributedTitle:[self comeGroup:[NSString stringWithFormat:@"%@的收藏",model.Data.Author]] forState:UIControlStateNormal];
  595. }break;
  596. case CollectModel_NoteFile: {
  597. self.iconV.image = IMG(@"find_1");
  598. }break;
  599. case CollectModel_TopicBooK:{
  600. self.iconV.image = IMG(@"topicBook");
  601. }break;
  602. case CollectModel_TopicSubBooK: {
  603. self.iconV.image = IMG(@"find_1");
  604. }break;
  605. // 通知 || 站内信
  606. case CollectModel_Notice:
  607. {
  608. self.iconV.image = IMG(@"通知图标");
  609. }break;
  610. case CollectModel_InterMail:{
  611. self.iconV.image = IMG(@"站内信");
  612. }break;
  613. // 会议
  614. case CollectModel_meetMian:
  615. {
  616. self.iconV.image = IMG(@"会议纪要");
  617. }
  618. break;
  619. case CollectModel_meetDetail:
  620. {
  621. self.iconV.image = IMG(@"会议");
  622. }
  623. break;
  624. case CollectModel_file:{
  625. NSString * imageStr = [ZYCTool getFileNameImage:model.Data.FileName];
  626. if (imageStr.length == 0) {
  627. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.File]];
  628. }else{
  629. self.iconV.image = IMG(imageStr);
  630. }
  631. }break;
  632. case CollectModel_work:
  633. {
  634. self.iconV.image = IMG(@"审批");
  635. }
  636. break;
  637. case CollectModel_StoreSound:
  638. {
  639. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.ArticleImgUrl.firstObject] placeholderImage:IMG(@"default_audio") completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
  640. dispatch_async(dispatch_get_main_queue(), ^{
  641. UIImageView * clearV = [UIImageView new];
  642. [weakSelf.iconV addSubview:clearV];
  643. clearV.image = IMG(@"clear_audio");
  644. [clearV mas_makeConstraints:^(MASConstraintMaker *make) {
  645. make.edges.mas_equalTo(weakSelf.iconV);
  646. }];
  647. });
  648. }];
  649. }
  650. break;
  651. case CollectModel_StoreVideo:
  652. {
  653. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.ArticleImgUrl.firstObject] placeholderImage:IMG(@"default_video") completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
  654. dispatch_async(dispatch_get_main_queue(), ^{
  655. UIImageView * clearV = [UIImageView new];
  656. [weakSelf.iconV addSubview:clearV];
  657. clearV.image = IMG(@"clear_video");
  658. [clearV mas_makeConstraints:^(MASConstraintMaker *make) {
  659. make.edges.mas_equalTo(weakSelf.iconV);
  660. }];
  661. });
  662. }];
  663. }
  664. break;
  665. case CollectModel_Teacher:
  666. {
  667. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.AvatarUrl] placeholderImage:IMG(@"icon_weizhiwenjian")];
  668. self.titleL.attributedText = [model.Data.Author length] > 0 ? [ZYCTool checkOfString:model.Data.Author withSearchText:text withColor:UIColorHex(0xFF5252)] : [[NSAttributedString alloc] initWithString:@" "];
  669. self.nameL.hidden = YES;
  670. }
  671. break;
  672. case CollectModel_Organization:
  673. {
  674. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.AvatarUrl] placeholderImage:IMG(@"icon_weizhiwenjian")];
  675. }
  676. break;
  677. case CollectModel_StoreBook:
  678. {
  679. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.AvatarUrl] placeholderImage:IMG(@"icon_weizhiwenjian")];
  680. }
  681. break;
  682. case CollectModel_financeCount:
  683. {
  684. self.iconV.image = IMG(@"报表");
  685. }
  686. break;
  687. case CollectModel_affairsCount:
  688. {
  689. self.iconV.image = IMG(@"报表");
  690. }
  691. break;
  692. case CollectModel_publishCount:
  693. {
  694. self.iconV.image = IMG(@"报表");
  695. }
  696. break;
  697. default:{
  698. NSString * imageStr = [ZYCTool getFileNameImage:model.Data.FileName];
  699. if (imageStr.length == 0) {
  700. [self.iconV sd_setImageWithURL:[NSURL URLWithString:model.Data.MinFile]];
  701. }else{
  702. self.iconV.image = IMG(imageStr);
  703. }
  704. }break;
  705. }
  706. }
  707. - (NSAttributedString *)comeGroup:(NSString *)name
  708. {
  709. NSString * comStr = [NSString stringWithFormat:@"来自-%@",name];
  710. return [self checkOfString:comStr withSearchText:name];
  711. }
  712. - (NSMutableAttributedString *)checkOfString:(NSString *)infoStr withSearchText:(NSString *)text
  713. {
  714. if (infoStr.length == 0 || text.length == 0) {
  715. return nil;
  716. }
  717. NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:infoStr];
  718. [attrString addAttribute:(NSString *)NSForegroundColorAttributeName
  719. value:UIColorHex(0x999999)
  720. range:[infoStr rangeOfString:infoStr]];
  721. [attrString addAttribute:(NSString *)NSForegroundColorAttributeName
  722. value:UIColorHex(0x1F87DB)
  723. range:[infoStr rangeOfString:text]];
  724. return attrString;
  725. }
  726. - (void)setSelected:(BOOL)selected animated:(BOOL)animated {
  727. [super setSelected:selected animated:animated];
  728. // Configure the view for the selected state
  729. }
  730. @end