TDInterLeterSearchVC.m 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630
  1. //
  2. // TDInterLeterSearchVC.m
  3. // smartRhino
  4. //
  5. // Created by niuzhen on 2020/3/23.
  6. // Copyright © 2020 tederen. All rights reserved.
  7. //
  8. #import "TDInterLeterSearchVC.h"
  9. #import "ChatMsgNoticeCell.h"
  10. #import "NSDate+Extension.h"
  11. #import "TDInterLeterHomeViewController.h"
  12. #import "MyApprovalPageDetail.h"
  13. @interface TDInterLeterSearchVC ()<UITableViewDelegate,UITableViewDataSource>
  14. @property (nonatomic, copy) NSMutableArray *interLetterArray;
  15. @property (nonatomic, assign) NSUInteger currentPage ;
  16. @property (nonatomic, assign) NSUInteger totalPage ;
  17. @property (nonatomic, assign) NSUInteger totalRecord ;
  18. @end
  19. @implementation TDInterLeterSearchVC
  20. - (NSMutableArray *)interLetterArray
  21. {
  22. if (!_interLetterArray) {
  23. _interLetterArray = [NSMutableArray array];
  24. }
  25. return _interLetterArray;
  26. }
  27. - (void)viewDidLoad {
  28. [super viewDidLoad];
  29. self.fd_prefersNavigationBarHidden = YES;
  30. self.view.backgroundColor = RGB(255, 255, 255);
  31. self.lineL.hidden = YES;
  32. self.tableView.delegate = self;
  33. self.tableView.dataSource = self;
  34. [self addRefresh];
  35. self.historySearchType = HistorySearchType_InterMail;
  36. [self addObserver:self forKeyPath:@"searchText" options:NSKeyValueObservingOptionNew context:nil];
  37. }
  38. - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context
  39. {
  40. id obj = [change objectForKey:@"new"];
  41. NSString * text = @"";
  42. if ([obj isKindOfClass:[NSString class]]) {
  43. text = obj;
  44. }else{
  45. text = [obj stringValue];
  46. }
  47. if (text.length > 0) {
  48. [self headRefresh];
  49. }
  50. }
  51. - (void)addRefresh
  52. {
  53. WS(weakSelf);
  54. if (self.searchText.length > 0) {
  55. self.tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
  56. [weakSelf headRefresh];
  57. }];
  58. self.tableView.mj_footer = [MJRefreshBackStateFooter footerWithRefreshingBlock:^{
  59. [weakSelf footerRefresh];
  60. }];
  61. }
  62. }
  63. - (void)headRefresh{
  64. self.currentPage = 1;
  65. [self.interLetterArray removeAllObjects];
  66. [self getData:self.searchText];
  67. }
  68. - (void)footerRefresh{
  69. self.currentPage += 1;
  70. if (self.totalRecord == self.interLetterArray.count) {
  71. self.currentPage --;
  72. return ;
  73. }
  74. [self getData:self.searchText];
  75. }
  76. - (void)getData:(NSString *)text
  77. {
  78. if (text.length == 0) {
  79. return;
  80. }
  81. NSLog(@"%@",@"刷新数据");
  82. NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
  83. [dict setObject:@(self.currentPage) forKey:@"Page"];
  84. [dict setObject:@"20" forKey:@"PerPage"];
  85. [dict setObject:@(self.type) forKey:@"SearchType"];
  86. [dict setObject:text forKey:@"Keyword"];
  87. [dict setObject:@(self.FolderId) forKey:@"NoticeFolderId"];
  88. WS(weakSelf);
  89. [[HttpManager sharedHttpManager] POSTUrl:Host(API_NOTICE_LIST) parameters:dict responseStyle:JOSN success:^(id _Nonnull responseObject) {
  90. NSLog(@"站内信返回数据%@",responseObject);
  91. NoticeListModel *listModel = [[NoticeListModel alloc] initWithDictionary:responseObject error:nil];
  92. [weakSelf.tableView.mj_header endRefreshing];
  93. [weakSelf.tableView.mj_footer endRefreshing];
  94. weakSelf.totalRecord = listModel.Total;
  95. [weakSelf.interLetterArray addObjectsFromArray:listModel.Items];
  96. if (weakSelf.totalRecord == weakSelf.interLetterArray.count) {
  97. [weakSelf.tableView.mj_footer resetNoMoreData];
  98. [weakSelf.tableView.mj_footer endRefreshingWithNoMoreData];
  99. }
  100. [weakSelf.tableView reloadData];
  101. } failure:^(NSError * _Nonnull error) {
  102. SHOWERROR([ZYCTool handerResultData:error]);
  103. [weakSelf.tableView.mj_header endRefreshing];
  104. [weakSelf.tableView.mj_footer endRefreshing];
  105. }];
  106. }
  107. - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
  108. return 1;
  109. }
  110. - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
  111. return self.interLetterArray.count;
  112. }
  113. - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
  114. return UITableViewAutomaticDimension;
  115. }
  116. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
  117. WS(weakSelf);
  118. NoticeModel *model = self.interLetterArray[indexPath.row];
  119. switch (model.AttributeValue) {
  120. case 1:{
  121. switch (model.NoticeStatus) {
  122. case 1:///正常
  123. {
  124. switch (model.TypeValue){
  125. case PageTypeFromTitleMail:
  126. {
  127. ChatMsgNoticeCell *cell = [ChatMsgNoticeCell configCell2:tableView indexPath:indexPath];
  128. cell.cell2UserImgView.image = model.IsRecall ? IMG(@"IsRecall_Icon") : IMG(@"站内信图");
  129. cell.cell2TitleLabel.attributedText = [ZYCTool checkOfString:model.Title withSearchText:self.searchText withColor:UIColorHex(0xFF5252)];
  130. [self setIntroLabelWithModel:model introLabel:cell.cell2IntroLabel unreadNumberLabel:cell.cell2UnReadNumberLbl];
  131. cell.cell2TimeLabel.text = [NSDate getTimeStringAutoShort2:model.CreatedDate];
  132. cell.IsTopImgV.hidden = !model.IsTop;
  133. cell.cell2RedBgView.hidden = model.IsRead;
  134. return cell;
  135. }
  136. break;
  137. case PageTypeFromTitleNotice:
  138. {
  139. ChatMsgNoticeCell *cell = [ChatMsgNoticeCell configCell2:tableView indexPath:indexPath];
  140. cell.cell2UserImgView.image = model.IsRecall ? IMG(@"IsRecall_Icon") : IMG(@"通知图标");
  141. cell.cell2TitleLabel.attributedText = [ZYCTool checkOfString:model.Title withSearchText:self.searchText withColor:UIColorHex(0xFF5252)];
  142. [self setIntroLabelWithModel:model introLabel:cell.cell2IntroLabel unreadNumberLabel:cell.cell2UnReadNumberLbl];
  143. cell.cell2TimeLabel.text = [NSDate getTimeStringAutoShort2:model.CreatedDate];
  144. cell.cell2RedBgView.hidden = model.IsRead;
  145. cell.IsTopImgV.hidden = !model.IsTop;
  146. return cell;
  147. }
  148. break;
  149. case PageTypeFromTitleMeShen:
  150. {
  151. ChatMsgNoticeCell *cell = [ChatMsgNoticeCell configCell2:tableView indexPath:indexPath];
  152. [self setShenIcon:model withCellImgV:cell.cell2UserImgView];
  153. cell.cell2TitleLabel.attributedText = [ZYCTool checkOfString:model.Title withSearchText:self.searchText withColor:UIColorHex(0xFF5252)];
  154. [self setIntroLabelWithModel:model introLabel:cell.cell2IntroLabel unreadNumberLabel:cell.cell2UnReadNumberLbl];
  155. cell.cell2TimeLabel.text = [NSDate getTimeStringAutoShort2:model.CreatedDate];
  156. cell.cell2RedBgView.hidden = model.IsRead;
  157. cell.IsTopImgV.hidden = !model.IsTop;
  158. return cell;
  159. }
  160. break;
  161. case PageTypeFromTitleMeSend:
  162. {
  163. ChatMsgNoticeCell *cell = [ChatMsgNoticeCell configCell2:tableView indexPath:indexPath];
  164. [self setShenIcon:model withCellImgV:cell.cell2UserImgView];
  165. cell.cell2TitleLabel.attributedText = [ZYCTool checkOfString:model.Title withSearchText:self.searchText withColor:UIColorHex(0xFF5252)];
  166. [self setIntroLabelWithModel:model introLabel:cell.cell2IntroLabel unreadNumberLabel:cell.cell2UnReadNumberLbl];
  167. cell.cell2TimeLabel.text = [NSDate getTimeStringAutoShort2:model.CreatedDate];
  168. cell.cell2RedBgView.hidden = model.IsRead;
  169. cell.IsTopImgV.hidden = !model.IsTop;
  170. return cell;
  171. }
  172. break;
  173. case PageTypeFromTitleChao:
  174. {
  175. ChatMsgNoticeCell *cell = [ChatMsgNoticeCell configCell2:tableView indexPath:indexPath];
  176. [self setShenIcon:model withCellImgV:cell.cell2UserImgView];
  177. cell.cell2TitleLabel.attributedText = [ZYCTool checkOfString:model.Title withSearchText:self.searchText withColor:UIColorHex(0xFF5252)];
  178. [self setIntroLabelWithModel:model introLabel:cell.cell2IntroLabel unreadNumberLabel:cell.cell2UnReadNumberLbl];
  179. cell.cell2TimeLabel.text = [NSDate getTimeStringAutoShort2:model.CreatedDate];
  180. cell.cell2RedBgView.hidden = model.IsRead;
  181. cell.IsTopImgV.hidden = !model.IsTop;
  182. return cell;
  183. }
  184. break;
  185. default:///匿名
  186. {
  187. ChatMsgNoticeCell *cell = [ChatMsgNoticeCell configCell2:tableView indexPath:indexPath];
  188. cell.cell2UserImgView.image = model.IsRecall ? IMG(@"IsRecall_Icon") : IMG(@"站内信图");
  189. cell.cell2TitleLabel.attributedText = [ZYCTool checkOfString:model.Title withSearchText:self.searchText withColor:UIColorHex(0xFF5252)];
  190. [self setIntroLabelWithModel:model introLabel:cell.cell2IntroLabel unreadNumberLabel:cell.cell2UnReadNumberLbl];
  191. cell.cell2TimeLabel.text = [NSDate getTimeStringAutoShort2:model.CreatedDate];
  192. cell.cell2RedBgView.hidden = model.IsRead;
  193. cell.IsTopImgV.hidden = !model.IsTop;
  194. return cell;
  195. }
  196. break;
  197. }
  198. }
  199. break;
  200. case 0:///删除
  201. {
  202. switch (model.TypeValue) {
  203. case PageTypeFromTitleMail:{
  204. ChatMsgNoticeCell *cell = [ChatMsgNoticeCell configCell2:tableView indexPath:indexPath];
  205. cell.cell2UserImgView.image = model.IsRecall ? IMG(@"IsRecall_Icon") : IMG(@"站内信图");
  206. cell.cell2TitleLabel.attributedText = [ZYCTool checkOfString:model.Title withSearchText:self.searchText withColor:UIColorHex(0xFF5252)];
  207. [self setIntroLabelWithModel:model introLabel:cell.cell2IntroLabel unreadNumberLabel:cell.cell2UnReadNumberLbl];
  208. cell.IsTopImgV.hidden = !model.IsTop;
  209. cell.cell2EditBtn.hidden = NO;
  210. cell.cell2RedBgView.hidden = YES;
  211. cell.cell2TimeLabel.hidden = YES;
  212. [cell.cell2EditBtn setTitle:@"恢复" forState:UIControlStateNormal];
  213. [cell.cell2EditBtn setAction:^{
  214. NSLog(@"恢复已删除站内信");
  215. [weakSelf reDoDeleteFind:@[model].mutableCopy];
  216. }];
  217. return cell;
  218. }
  219. break;
  220. case PageTypeFromTitleNotice:
  221. {
  222. ChatMsgNoticeCell *cell = [ChatMsgNoticeCell configCell2:tableView indexPath:indexPath];
  223. cell.cell2UserImgView.image = model.IsRecall ? IMG(@"IsRecall_Icon") : IMG(@"通知图标");
  224. cell.cell2TitleLabel.attributedText = [ZYCTool checkOfString:model.Title withSearchText:self.searchText withColor:UIColorHex(0xFF5252)];
  225. [self setIntroLabelWithModel:model introLabel:cell.cell2IntroLabel unreadNumberLabel:cell.cell2UnReadNumberLbl];
  226. cell.IsTopImgV.hidden = !model.IsTop;
  227. cell.cell2EditBtn.hidden = NO;
  228. cell.cell2RedBgView.hidden = YES;
  229. cell.cell2TimeLabel.hidden = YES;
  230. [cell.cell2EditBtn setTitle:@"恢复" forState:UIControlStateNormal];
  231. [cell.cell2EditBtn setAction:^{
  232. NSLog(@"恢复已删除站内信");
  233. [weakSelf reDoDeleteFind:@[model].mutableCopy];
  234. }];
  235. return cell;
  236. }
  237. break;
  238. case PageTypeFromTitleMeShen:
  239. {
  240. ChatMsgNoticeCell *cell = [ChatMsgNoticeCell configCell2:tableView indexPath:indexPath];
  241. [self setShenIcon:model withCellImgV:cell.cell2UserImgView];
  242. cell.cell2TitleLabel.attributedText = [ZYCTool checkOfString:model.Title withSearchText:self.searchText withColor:UIColorHex(0xFF5252)];
  243. [self setIntroLabelWithModel:model introLabel:cell.cell2IntroLabel unreadNumberLabel:cell.cell2UnReadNumberLbl];
  244. cell.IsTopImgV.hidden = !model.IsTop;
  245. cell.cell2EditBtn.hidden = NO;
  246. cell.cell2RedBgView.hidden = YES;
  247. cell.cell2TimeLabel.hidden = YES;
  248. [cell.cell2EditBtn setTitle:@"恢复" forState:UIControlStateNormal];
  249. [cell.cell2EditBtn setAction:^{
  250. NSLog(@"恢复已删除站内信");
  251. [weakSelf reDoDeleteFind:@[model].mutableCopy];
  252. }];
  253. return cell;
  254. }
  255. break;
  256. case PageTypeFromTitleMeSend:
  257. {
  258. ChatMsgNoticeCell *cell = [ChatMsgNoticeCell configCell2:tableView indexPath:indexPath];
  259. [self setShenIcon:model withCellImgV:cell.cell2UserImgView];
  260. cell.cell2TitleLabel.attributedText = [ZYCTool checkOfString:model.Title withSearchText:self.searchText withColor:UIColorHex(0xFF5252)];
  261. [self setIntroLabelWithModel:model introLabel:cell.cell2IntroLabel unreadNumberLabel:cell.cell2UnReadNumberLbl];
  262. cell.IsTopImgV.hidden = !model.IsTop;
  263. cell.cell2EditBtn.hidden = NO;
  264. cell.cell2RedBgView.hidden = YES;
  265. cell.cell2TimeLabel.hidden = YES;
  266. [cell.cell2EditBtn setTitle:@"恢复" forState:UIControlStateNormal];
  267. [cell.cell2EditBtn setAction:^{
  268. NSLog(@"恢复已删除站内信");
  269. [weakSelf reDoDeleteFind:@[model].mutableCopy];
  270. }];
  271. return cell;
  272. }
  273. break;
  274. case PageTypeFromTitleChao:
  275. {
  276. ChatMsgNoticeCell *cell = [ChatMsgNoticeCell configCell2:tableView indexPath:indexPath];
  277. [self setShenIcon:model withCellImgV:cell.cell2UserImgView];
  278. cell.cell2TitleLabel.attributedText = [ZYCTool checkOfString:model.Title withSearchText:self.searchText withColor:UIColorHex(0xFF5252)];
  279. [self setIntroLabelWithModel:model introLabel:cell.cell2IntroLabel unreadNumberLabel:cell.cell2UnReadNumberLbl];
  280. cell.IsTopImgV.hidden = !model.IsTop;
  281. cell.cell2EditBtn.hidden = NO;
  282. cell.cell2RedBgView.hidden = YES;
  283. cell.cell2TimeLabel.hidden = YES;
  284. [cell.cell2EditBtn setTitle:@"恢复" forState:UIControlStateNormal];
  285. [cell.cell2EditBtn setAction:^{
  286. NSLog(@"恢复已删除站内信");
  287. [weakSelf reDoDeleteFind:@[model].mutableCopy];
  288. }];
  289. return cell;
  290. }
  291. break;
  292. default:///匿名
  293. {
  294. ChatMsgNoticeCell *cell = [ChatMsgNoticeCell configCell2:tableView indexPath:indexPath];
  295. cell.cell2UserImgView.image = model.IsRecall ? IMG(@"IsRecall_Icon") : IMG(@"站内信图");
  296. cell.cell2TitleLabel.attributedText = [ZYCTool checkOfString:model.Title withSearchText:self.searchText withColor:UIColorHex(0xFF5252)];
  297. [self setIntroLabelWithModel:model introLabel:cell.cell2IntroLabel unreadNumberLabel:cell.cell2UnReadNumberLbl];
  298. cell.IsTopImgV.hidden = !model.IsTop;
  299. cell.cell2EditBtn.hidden = NO;
  300. cell.cell2RedBgView.hidden = YES;
  301. cell.cell2TimeLabel.hidden = YES;
  302. [cell.cell2EditBtn setTitle:@"恢复" forState:UIControlStateNormal];
  303. [cell.cell2EditBtn setAction:^{
  304. NSLog(@"恢复已删除站内信");
  305. [weakSelf reDoDeleteFind:@[model].mutableCopy];
  306. }];
  307. return cell;
  308. }
  309. break;
  310. }
  311. }
  312. break;
  313. default:
  314. {
  315. switch (model.TypeValue) {
  316. case PageTypeFromTitleMail:{
  317. ChatMsgNoticeCell *cell = [ChatMsgNoticeCell configCell2:tableView indexPath:indexPath];
  318. cell.cell2UserImgView.image = model.IsRecall ? IMG(@"IsRecall_Icon") : IMG(@"站内信图");
  319. cell.cell2TitleLabel.attributedText = [ZYCTool checkOfString:model.Title withSearchText:self.searchText withColor:UIColorHex(0xFF5252)];
  320. [self setIntroLabelWithModel:model introLabel:cell.cell2IntroLabel unreadNumberLabel:cell.cell2UnReadNumberLbl];
  321. cell.IsTopImgV.hidden = !model.IsTop;
  322. cell.cell2EditBtn.hidden = NO;
  323. [cell.cell2EditBtn setAction:^{
  324. [weakSelf editorButtonHander:indexPath];
  325. }];
  326. cell.cell2RedBgView.hidden = model.IsRead;
  327. cell.cell2TimeLabel.hidden = YES;
  328. return cell;
  329. }
  330. break;
  331. case PageTypeFromTitleNotice:
  332. {
  333. ChatMsgNoticeCell *cell = [ChatMsgNoticeCell configCell2:tableView indexPath:indexPath];
  334. cell.cell2UserImgView.image = model.IsRecall ? IMG(@"IsRecall_Icon") : IMG(@"通知图标");
  335. cell.cell2TitleLabel.attributedText = [ZYCTool checkOfString:model.Title withSearchText:self.searchText withColor:UIColorHex(0xFF5252)];
  336. [self setIntroLabelWithModel:model introLabel:cell.cell2IntroLabel unreadNumberLabel:cell.cell2UnReadNumberLbl];
  337. cell.IsTopImgV.hidden = !model.IsTop;
  338. cell.cell2EditBtn.hidden = NO;
  339. [cell.cell2EditBtn setAction:^{
  340. [weakSelf editorButtonHander:indexPath];
  341. }];
  342. cell.cell2RedBgView.hidden = model.IsRead;
  343. cell.cell2TimeLabel.hidden = YES;
  344. return cell;
  345. }
  346. break;
  347. case PageTypeFromTitleMeShen:
  348. {
  349. ChatMsgNoticeCell *cell = [ChatMsgNoticeCell configCell2:tableView indexPath:indexPath];
  350. [self setShenIcon:model withCellImgV:cell.cell2UserImgView];
  351. cell.cell2TitleLabel.attributedText = [ZYCTool checkOfString:model.Title withSearchText:self.searchText withColor:UIColorHex(0xFF5252)];
  352. [self setIntroLabelWithModel:model introLabel:cell.cell2IntroLabel unreadNumberLabel:cell.cell2UnReadNumberLbl];
  353. cell.IsTopImgV.hidden = !model.IsTop;
  354. cell.cell2EditBtn.hidden = NO;
  355. [cell.cell2EditBtn setAction:^{
  356. [weakSelf editorButtonHander:indexPath];
  357. }];
  358. cell.cell2RedBgView.hidden = model.IsRead;
  359. cell.cell2TimeLabel.hidden = YES;
  360. return cell;
  361. }
  362. break;
  363. case PageTypeFromTitleMeSend:
  364. {
  365. ChatMsgNoticeCell *cell = [ChatMsgNoticeCell configCell2:tableView indexPath:indexPath];
  366. [self setShenIcon:model withCellImgV:cell.cell2UserImgView];
  367. cell.cell2TitleLabel.attributedText = [ZYCTool checkOfString:model.Title withSearchText:self.searchText withColor:UIColorHex(0xFF5252)];
  368. [self setIntroLabelWithModel:model introLabel:cell.cell2IntroLabel unreadNumberLabel:cell.cell2UnReadNumberLbl];
  369. cell.IsTopImgV.hidden = !model.IsTop;
  370. cell.cell2EditBtn.hidden = NO;
  371. [cell.cell2EditBtn setAction:^{
  372. [weakSelf editorButtonHander:indexPath];
  373. }];
  374. cell.cell2RedBgView.hidden = model.IsRead;
  375. cell.cell2TimeLabel.hidden = YES;
  376. return cell;
  377. }
  378. break;
  379. case PageTypeFromTitleChao:
  380. {
  381. ChatMsgNoticeCell *cell = [ChatMsgNoticeCell configCell2:tableView indexPath:indexPath];
  382. [self setShenIcon:model withCellImgV:cell.cell2UserImgView];
  383. cell.cell2TitleLabel.attributedText = [ZYCTool checkOfString:model.Title withSearchText:self.searchText withColor:UIColorHex(0xFF5252)];
  384. [self setIntroLabelWithModel:model introLabel:cell.cell2IntroLabel unreadNumberLabel:cell.cell2UnReadNumberLbl];
  385. cell.IsTopImgV.hidden = !model.IsTop;
  386. cell.cell2EditBtn.hidden = NO;
  387. [cell.cell2EditBtn setAction:^{
  388. [weakSelf editorButtonHander:indexPath];
  389. }];
  390. cell.cell2RedBgView.hidden = model.IsRead;
  391. cell.cell2TimeLabel.hidden = YES;
  392. return cell;
  393. }
  394. break;
  395. default:///匿名
  396. {
  397. ChatMsgNoticeCell *cell = [ChatMsgNoticeCell configCell2:tableView indexPath:indexPath];
  398. cell.cell2UserImgView.image = model.IsRecall ? IMG(@"IsRecall_Icon") : IMG(@"站内信图");
  399. cell.cell2TitleLabel.attributedText = [ZYCTool checkOfString:model.Title withSearchText:self.searchText withColor:UIColorHex(0xFF5252)];
  400. [self setIntroLabelWithModel:model introLabel:cell.cell2IntroLabel unreadNumberLabel:cell.cell2UnReadNumberLbl];
  401. cell.IsTopImgV.hidden = !model.IsTop;
  402. cell.cell2EditBtn.hidden = NO;
  403. [cell.cell2EditBtn setAction:^{
  404. [weakSelf editorButtonHander:indexPath];
  405. }];
  406. cell.cell2RedBgView.hidden = model.IsRead;
  407. cell.cell2TimeLabel.hidden = YES;
  408. return cell;
  409. }
  410. break;
  411. }
  412. }
  413. break;
  414. }
  415. }
  416. break;
  417. case 2:{
  418. ChatMsgNoticeCell *cell = [ChatMsgNoticeCell configCell1:tableView indexPath:indexPath];
  419. cell.cell1TitleLabel.attributedText = [ZYCTool checkOfString:model.FolderName withSearchText:self.searchText withColor:UIColorHex(0xFF5252)];
  420. cell.IsTopImgV.hidden = !model.IsTop;
  421. cell.cell1TimeLabel.text = [NSString stringWithFormat:@"%ld",(long)model.FileCount];
  422. return cell;
  423. }break;
  424. default:{
  425. ChatMsgNoticeCell *cell = [ChatMsgNoticeCell configCell2:tableView indexPath:indexPath];
  426. return cell;
  427. }
  428. break;
  429. }
  430. }
  431. - (void)thoroughDelete:(NSMutableArray<NoticeModel *>*)array isDelete:(BOOL)isDelete
  432. {
  433. NSMutableArray * addArray = [NSMutableArray array];
  434. for (NoticeModel *model in array) {
  435. [addArray addObject:@(model.Id)];
  436. }
  437. NSDictionary * dict = @{@"MiddleIds":addArray,
  438. @"FolderType":@(800), ///1 通知
  439. @"IsDelete":@(isDelete)
  440. };
  441. WS(weakSelf);
  442. SHOWLOADING
  443. [[HttpManager sharedHttpManager] POSTUrl:Host(API_Find_DeleteRecord) parameters:dict responseStyle:DATA success:^(id _Nonnull responseObject) {
  444. REMOVESHOW
  445. SHOWSUCCESS(@"删除成功");
  446. [weakSelf.interLetterArray removeObjectsInArray:array];
  447. dispatch_async(dispatch_get_main_queue(), ^{
  448. [weakSelf.tableView reloadData];
  449. });
  450. } failure:^(NSError * _Nonnull error) {
  451. REMOVESHOW
  452. }];
  453. }
  454. - (void)setShenIcon:(NoticeModel *)model withCellImgV:(UIImageView *)imagV
  455. {
  456. if (model.IsRecall) {
  457. imagV.image = IMG(@"shenpi_reCall");
  458. }else{
  459. if ([model.FlowState isEqualToString:@"Checking"]) {
  460. imagV.image = IMG(@"审批");
  461. }else{
  462. imagV.image = IMG(@"shenpi_icon");
  463. }
  464. }
  465. }
  466. - (void)reDoDeleteFind:(NSMutableArray<NoticeModel *>*)findModelArray{
  467. NSMutableArray *MiddleIds = [NSMutableArray array];
  468. for (NoticeModel *model in findModelArray) {
  469. [MiddleIds addObject:@(model.Id)];
  470. }
  471. NSMutableDictionary *dic = [[NSMutableDictionary alloc]init];
  472. [dic setValue:MiddleIds forKey:@"MiddleIds"];
  473. [dic setValue:@(5) forKey:@"FolderType"];
  474. [dic setValue:@(0) forKey:@"IsDelete"];
  475. [dic setValue:@([AppUserModel sharedAppUserModel].Id) forKey:@"UserId"];
  476. SHOWLOADING
  477. WEAKSELF
  478. [[HttpManager sharedHttpManager] POSTUrl:Host(API_Find_DeleteRecord_Redo) parameters:dic responseStyle:DATA success:^(id _Nonnull responseObject) {
  479. STRONGSELF
  480. REMOVESHOW
  481. [strongSelf headRefresh];
  482. } failure:^(NSError * _Nonnull error) {
  483. SHOWERROR([ZYCTool handerResultData:error]);
  484. }];
  485. }
  486. - (void)editorButtonHander:(NSIndexPath *)indexpath{
  487. WS(weakSelf);
  488. NoticeModel *model = self.interLetterArray[indexpath.row];
  489. MyTDTopicCreateVC * vc = [MyTDTopicCreateVC initMyTDTopicCreateVC];
  490. vc.type = CollectModel_InterMail;
  491. vc.isEdit = YES;
  492. vc.replayType = MailReplayEdit;
  493. vc.Id = model.MiddleId;
  494. vc.isFromDraft = (model.SourceId == 0 ? YES : NO);
  495. vc.MailType = model.TypeValue;
  496. vc.upDateBlock = ^{
  497. [weakSelf headRefresh];
  498. };
  499. [self.navigationController pushViewController:vc animated:YES];
  500. }
  501. - (void)setIntroLabelWithModel:(NoticeModel *)model introLabel:(UILabel *)introLabel unreadNumberLabel:(UILabel *)unreadNumberLabel {
  502. //判断是否匿名
  503. if (model.IsAdmin) {
  504. if (model.EnjoyUser.length > 10) {
  505. NSRange range1 = NSMakeRange(10, (model.EnjoyUser.length - 10));
  506. NSString *resultStr1 = [model.EnjoyUser stringByReplacingCharactersInRange:range1 withString:@"..."];
  507. introLabel.text = [NSString stringWithFormat:@"收件人:%@",resultStr1];
  508. }else{
  509. introLabel.text = [NSString stringWithFormat:@"收件人:%@",model.EnjoyUser];
  510. }
  511. unreadNumberLabel.text = [NSString stringWithFormat:@"已读:%ld/%ld",(long)model.ReadCount,(long)model.AllCount];
  512. }else {
  513. if (model.TypeValue == 18) {
  514. introLabel.text = @"匿名";
  515. unreadNumberLabel.text = nil;
  516. }else{
  517. introLabel.text = [NSString stringWithFormat:@"发件人:%@",model.UserName];
  518. unreadNumberLabel.text = [NSString stringWithFormat:@"已读:%ld/%ld",(long)model.ReadCount,(long)model.AllCount];
  519. }
  520. }
  521. }
  522. - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
  523. [tableView deselectRowAtIndexPath:indexPath animated:YES];
  524. NoticeModel *model = self.interLetterArray[indexPath.row];
  525. switch (model.AttributeValue) {
  526. case 2:{
  527. TDInterLeterHomeViewController *vc = [TDInterLeterHomeViewController initChatMsgNoticeVC];
  528. vc.interLeterFolderId = model.Id;
  529. vc.interLeterFoldName = model.FolderName;
  530. [self.navigationController pushViewController:vc animated:YES];
  531. }
  532. break;
  533. default:{
  534. if (self.type == PageTypeFromTitleDraftBox) {
  535. [self editorButtonHander:indexPath];
  536. }else{
  537. switch (model.TypeValue) {
  538. case PageTypeFromTitleNoSign:
  539. {
  540. MyTDTopicDetailVC *vc = [MyTDTopicDetailVC initMyTDTopicDetailVC];
  541. vc.Id = model.MiddleId;
  542. vc.type = CollectModel_NoSignMail;
  543. [self.navigationController pushViewController:vc animated:YES];
  544. }break;
  545. case PageTypeFromTitleMail:
  546. {
  547. MyTDTopicDetailVC *vc = [MyTDTopicDetailVC initMyTDTopicDetailVC];
  548. vc.Id = model.MiddleId;
  549. vc.type = CollectModel_InterMail;
  550. [self.navigationController pushViewController:vc animated:YES];
  551. }break;
  552. case PageTypeFromTitleNotice:
  553. {
  554. MyTDTopicDetailVC *vc = [MyTDTopicDetailVC initMyTDTopicDetailVC];
  555. vc.Id = model.MiddleId;
  556. vc.type = CollectModel_Notice;
  557. [self.navigationController pushViewController:vc animated:YES];
  558. }break;
  559. case PageTypeFromTitleMeShen:
  560. {
  561. [self pushWorkVCwithModel:model];
  562. }break;
  563. case PageTypeFromTitleMeSend:
  564. {
  565. [self pushWorkVCwithModel:model];
  566. }break;
  567. case PageTypeFromTitleChao:
  568. {
  569. [self pushWorkVCwithModel:model];
  570. }break;
  571. default:
  572. {
  573. // MyTDTopicDetailVC *vc = [MyTDTopicDetailVC initMyTDTopicDetailVC];
  574. // vc.detailType = (model.MissiveType == 1)? InterLeterDetialType_Sign : InterLeterDetialType_NoSign;
  575. // vc.Id = model.MiddleId;
  576. // vc.type = CollectModel_InterMail;
  577. // [self.navigationController pushViewController:vc animated:YES];
  578. }break;
  579. }
  580. }
  581. }
  582. break;
  583. }
  584. }
  585. - (void)pushWorkVCwithModel:(NoticeModel *)model
  586. {
  587. WS(weakSelf);
  588. MyApprovalPageDetail *myApprovalPageDetail = [[MyApprovalPageDetail alloc] init];
  589. [myApprovalPageDetail setActionSussBlock:^{
  590. [weakSelf headRefresh];
  591. }];
  592. switch (model.TypeValue) {
  593. case PageTypeFromTitleMeShen:
  594. {
  595. myApprovalPageDetail.pageType = Type_ONEA;
  596. }
  597. break;
  598. case PageTypeFromTitleMeSend:
  599. {
  600. myApprovalPageDetail.pageType = Type_ONEB;
  601. }
  602. break;
  603. default:
  604. {
  605. myApprovalPageDetail.pageType = Type_ONEC;
  606. }
  607. break;
  608. }
  609. myApprovalPageDetail.Stats = model.FlowState;
  610. myApprovalPageDetail.userId = model.UserId;
  611. myApprovalPageDetail.indexId = model.MiddleId;
  612. myApprovalPageDetail.TodoId = model.TodoId;
  613. myApprovalPageDetail.title = model.Title;
  614. [self.navigationController pushViewController:myApprovalPageDetail animated:YES];
  615. }
  616. @end