You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
204 lines
7.4 KiB
204 lines
7.4 KiB
// |
|
// SchMessageViewController.m |
|
// LekangGuard |
|
// |
|
// Created by ecell on 2023/6/7. |
|
// |
|
|
|
#import "SchAndJobMessageViewController.h" |
|
#import "CommMessageTableViewCell.h" |
|
#import "CommMessageDetailsViewController.h" |
|
|
|
@interface SchAndJobMessageViewController ()<DZNEmptyDataSetSource,DZNEmptyDataSetDelegate> |
|
|
|
|
|
@property (nonatomic ,strong) CommonTableView *schMsgTable; |
|
|
|
@property (nonatomic ,assign) NSInteger page; |
|
|
|
@end |
|
|
|
@implementation SchAndJobMessageViewController |
|
|
|
- (void)viewDidLoad { |
|
[super viewDidLoad]; |
|
// Do any additional setup after loading the view. |
|
self.zx_navTitle = self.navTitle; |
|
self.emptyText = F(@"暂无%@", self.navTitle); |
|
self.page = 1; |
|
self.view.backgroundColor = KKBackgroundGrey; |
|
[self.view addSubview:self.schMsgTable]; |
|
[self.schMsgTable mas_makeConstraints:^(MASConstraintMaker *make) { |
|
make.left.right.equalTo(self.view); |
|
make.top.equalTo(self.view).offset(iPhoneX_NavHeight); |
|
make.bottom.equalTo(self.view); |
|
}]; |
|
[UICommon MessageUpload:@"加载中"]; |
|
[self GetSchMessageList:TableisReload_h]; |
|
} |
|
|
|
- (CommonTableView *)schMsgTable |
|
{ |
|
if (!_schMsgTable) |
|
{ |
|
kWeakSelf(self) |
|
_schMsgTable = [[CommonTableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain cellHeight:50 cellRow:0 isAdaptive:YES isLine:NO commonCell:CommMessageTableViewCell.class createCell:^(ZZTableViewCell * _Nonnull cells, NSIndexPath * _Nonnull indexPath) { |
|
CommMessageTableViewCell *cell = (CommMessageTableViewCell *)cells; |
|
if (self.viewType == 0) |
|
cell.schModel = self.modelListArr[indexPath.row]; |
|
else |
|
cell.jobModel = self.modelListArr[indexPath.row]; |
|
|
|
} selectedCell:^(UITableView * _Nonnull tableView, NSIndexPath * _Nonnull indexPath) { |
|
|
|
CommMessageDetailsViewController *vc = [[CommMessageDetailsViewController alloc] init]; |
|
vc.viewType = self.viewType; |
|
if (self.viewType == 0) |
|
vc.schModel = self.modelListArr[indexPath.row]; |
|
else |
|
vc.jobModel = self.modelListArr[indexPath.row]; |
|
[[UICommon currentVC].navigationController pushViewController:vc animated:YES]; |
|
|
|
[self setMessageRead:self.modelListArr[indexPath.row] IndexPath:indexPath]; |
|
|
|
} DidscrollView:^(UIScrollView * _Nonnull scrollView) { |
|
|
|
}]; |
|
_schMsgTable.backgroundColor = KKClearColor; |
|
_schMsgTable.emptyDataSetSource = self; |
|
_schMsgTable.emptyDataSetDelegate = self; |
|
[_schMsgTable bindHeadRefreshHandler:^{ |
|
[UICommon feedbackGenerator]; |
|
[weakself GetSchMessageList:TableisReload_h]; |
|
} themeColor:KKMainColor refreshStyle:KafkaRefreshStyleReplicatorWoody]; |
|
|
|
[_schMsgTable bindFootRefreshHandler:^{ |
|
[weakself GetSchMessageList:TableisReload_f]; |
|
} themeColor:KKMainColor refreshStyle:KafkaRefreshStyleReplicatorWoody]; |
|
|
|
} |
|
return _schMsgTable; |
|
} |
|
|
|
|
|
|
|
#pragma mark 获取校园通知、班级作业 |
|
/// 获取校园通知、班级作业 |
|
- (void)GetSchMessageList:(TableisReload)isReload |
|
{ |
|
kWeakSelf(self) |
|
if (isReload == TableisReload_h) |
|
{ |
|
self.page = 1; |
|
[self.modelListArr removeAllObjects]; |
|
} |
|
NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; |
|
[parameters setValue:@(self.page) forKey:@"current"]; |
|
[parameters setValue:@(20) forKey:@"pageSize"]; |
|
if (self.viewType == 1) |
|
[parameters setValue:APIManager.sharedManager.deviceModel.imei forKey:@"imei"]; |
|
[[[APIManager sharedManager] APGET:self.viewType == 0 ? CampusPage_GET_URL : HomeWorkPage_GET_URL parameters:parameters resultClass:BaseModel.class] subscribeNext:^(BaseModel *obj) { |
|
[UICommon HidenLoading]; |
|
if (ARRAYHASVALUE(obj.records)) |
|
{ |
|
[weakself.schMsgTable.headRefreshControl endRefreshingWithAlertText:@"已为你加载最新数据~" completion:^{}]; |
|
[weakself.schMsgTable.footRefreshControl endRefreshing]; |
|
|
|
for (NSDictionary *dic in obj.records) |
|
{ |
|
if (weakself.viewType == 0) |
|
{ |
|
SchModel *model = [SchModel yy_modelWithJSON:dic]; |
|
[self.modelListArr addObject:model]; |
|
} |
|
else |
|
{ |
|
JobModel *model = [JobModel yy_modelWithJSON:dic]; |
|
[self.modelListArr addObject:model]; |
|
} |
|
} |
|
weakself.page++; |
|
weakself.schMsgTable.footRefreshControl.hidden = obj.records.count < KSizeNO ? YES : NO; |
|
weakself.schMsgTable.cellRow = self.modelListArr.count; |
|
[weakself.schMsgTable reloadData]; |
|
} |
|
|
|
|
|
} error:^(NSError * _Nullable error) { |
|
NSDictionary *dic = error.userInfo; |
|
[UICommon MessageErrorText:dic[NSLocalizedDescriptionKey]]; |
|
}]; |
|
} |
|
|
|
|
|
#pragma mark 消息已读 |
|
/// 消息已读 |
|
- (void)setMessageRead:(id)Models IndexPath:(NSIndexPath *_Nonnull)indexPath |
|
{ |
|
[UICommon MessageUpload:@"加载中"]; |
|
NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; |
|
NSString *url; |
|
if (self.viewType == 0) |
|
{ |
|
SchModel *schModel = Models; |
|
url = F(@"%@%@", IsReade_GET_URL,schModel.noticeId); |
|
} |
|
else |
|
{ |
|
JobModel *jobModel = Models; |
|
url = HomeworkIsReade_GET_URL; |
|
[parameters setValue:jobModel.Id forKey:@"homeWorkId"]; |
|
[parameters setValue:APIManager.sharedManager.userModel.userId forKey:@"stuOrFatherId"]; |
|
} |
|
[[[APIManager sharedManager] APGET:url parameters:parameters resultClass:BaseModel.class] subscribeNext:^(id _Nullable x) { |
|
[UICommon HidenLoading]; |
|
|
|
for (int i = 0; i < self.modelListArr.count; i++) |
|
{ |
|
if (self.viewType == 0) |
|
{ |
|
SchModel *schModel = Models; |
|
|
|
SchModel *model = self.modelListArr[i]; |
|
if (model.noticeId == schModel.noticeId) |
|
{ |
|
// [self.modelListArr removeObject:model]; |
|
schModel.sendReadStatus = 3; |
|
[self.modelListArr replaceObjectAtIndex:i withObject:schModel]; |
|
break; |
|
} |
|
} |
|
else |
|
{ |
|
JobModel *jobModel = Models; |
|
|
|
JobModel *model = self.modelListArr[i]; |
|
if (model.Id == jobModel.Id) |
|
{ |
|
// [self.modelListArr removeObject:model]; |
|
jobModel.receiveStatus = 3; |
|
[self.modelListArr replaceObjectAtIndex:i withObject:jobModel]; |
|
break; |
|
} |
|
} |
|
|
|
} |
|
[self.schMsgTable reloadRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, nil] withRowAnimation:UITableViewRowAnimationNone]; |
|
|
|
} error:^(NSError * _Nullable error) { |
|
NSDictionary *dic = error.userInfo; |
|
[UICommon MessageErrorText:dic[NSLocalizedDescriptionKey]]; |
|
}]; |
|
} |
|
|
|
/* |
|
#pragma mark - Navigation |
|
|
|
// In a storyboard-based application, you will often want to do a little preparation before navigation |
|
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { |
|
// Get the new view controller using [segue destinationViewController]. |
|
// Pass the selected object to the new view controller. |
|
} |
|
*/ |
|
|
|
@end
|
|
|