|
|
|
//
|
|
|
|
// 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"];
|
|
|
|
[[[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
|