// // ClockAndOtherViewController.m // LekangGuard // // Created by ecell on 2022/12/5. // #import "ClockAndOtherViewController.h" #import "ClockAndOtherTableViewCell.h" #import "AddClockAdnOtherViewController.h" #import "AddAttendClassAlarmViewController.h" @interface ClockAndOtherViewController () @property (nonatomic ,strong) UIImageView *topView; @property (nonatomic ,strong) CommonTableView *comTable; @property (nonatomic ,strong) UIView *headerView; @end @implementation ClockAndOtherViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. self.view.backgroundColor = KKBackgroundGrey; self.zx_navTitle = self.viewType == 1 ? GJText(@"设备闹钟") : GJText(@"上课禁用"); [self zx_setRightBtnWithText:GJText(@"添加") clickedBlock:^(ZXNavItemBtn * _Nonnull btn) { [self pusView:nil redact:1]; }]; self.ImgType = self.viewType == 1 ? Naozhong : Shangkejinyong; self.emptyText = self.viewType == 1 ? GJText(@"未添加闹钟") : GJText(@"未添加上课禁用时段"); [self.view addSubview:self.topView]; [self.view addSubview:self.comTable]; [self.comTable mas_makeConstraints:^(MASConstraintMaker *make) { make.left.right.equalTo(self.view); make.top.equalTo(self.topView.mas_bottom); make.bottom.equalTo(self.view.mas_bottom); }]; [self GetQueryAlarm]; } - (CommonTableView *)comTable { if (!_comTable) { kWeakSelf(self) _comTable = [[CommonTableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain cellHeight:100 cellRow:0 isAdaptive:YES isLine:YES commonCell:ClockAndOtherTableViewCell.class createCell:^(ZZTableViewCell * _Nonnull cells, NSIndexPath * _Nonnull indexPath) { ClockAndOtherTableViewCell *cell = (ClockAndOtherTableViewCell *)cells; if (indexPath.row < weakself.modelListArr.count) { cell.viewType = weakself.viewType; cell.alarmModel = weakself.modelListArr[indexPath.row]; cell.isUpdataSucceed = ^(NSInteger row, BOOL status) { AlarmModel *model = weakself.modelListArr[row]; model.alarmStatus = status; [weakself.modelListArr replaceObjectAtIndex:row withObject:model]; }; } } selectedCell:^(UITableView * _Nonnull tableView, NSIndexPath * _Nonnull indexPath) { [weakself pusView:weakself.modelListArr[indexPath.row] redact:2]; } DidscrollView:^(UIScrollView * _Nonnull scrollView) { }]; _comTable.delegates = self; _comTable.isEditing = YES; _comTable.emptyDataSetSource = self; _comTable.emptyDataSetDelegate = self; _comTable.backgroundColor = KKClearColor; if(self.viewType == 2) { _comTable.tableHeaderView = self.headerView; _comTable.tableHeaderView.height = Adapted(60); } } return _comTable; } #pragma mark 查询设置闹钟 /// 查询设置闹钟 - (void)GetQueryAlarm { [UICommon MessageUpload:@"加载中"]; NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; [parameters setValue:APIManager.sharedManager.deviceModel.imei forKey:@"imei"]; [[[APIManager sharedManager] APGET:self.viewType == 1 ? QueryAlarm_URL : DisabledList_URL parameters:parameters resultClass:nil] subscribeNext:^(NSArray *arr) { [UICommon HidenLoading]; [self.modelListArr removeAllObjects]; if (ARRAYHASVALUE(arr)) { for (NSDictionary *dic in arr) { AlarmModel *model = [AlarmModel yy_modelWithJSON:dic]; [self.modelListArr addObject:model]; } } self.comTable.cellRow = arr.count; [self.comTable reloadData]; } error:^(NSError * _Nullable error) { NSDictionary *dic = error.userInfo; [UICommon MessageErrorText:dic[NSLocalizedDescriptionKey]]; }]; } - (UIImageView *)topView { if (!_topView) { _topView = [UIImageView new]; _topView.image = self.viewType == 1 ? ImageName_(@"img_clock_bg") : ImageName_(@"img_class_disable_bg"); _topView.frame = CGRectMake(0, iPhoneX_NavHeight, SCREEN_WIDTH, Adapted(_topView.image.size.height)); } return _topView; } /// 上课禁用头部提醒 - (UIView *)headerView { if (!_headerView) { _headerView = [UIView new]; _headerView.frame = CGRectMake(0, 0, SCREEN_WIDTH, Adapted(60)); UILabel *headerTitle = [UICommon ui_label:CGRectZero lines:0 align:NSTextAlignmentLeft font:FontADA_(12) textColor:KKGrey121 text:@"" Radius:0]; headerTitle.text = GJText(@"温馨提示:\n禁用时设备除可以呼出SOS号码外,设备仅可以查看时间,同时拒接所有电话和信息."); [_headerView addSubview:headerTitle]; [headerTitle mas_makeConstraints:^(MASConstraintMaker *make) { make.left.right.equalTo(_headerView).inset(15); make.centerY.equalTo(_headerView); }]; } return _headerView; } - (void)pusView:(AlarmModel *)model redact:(NSInteger)redact { if (self.viewType == 1) { AddClockAdnOtherViewController *vc = [AddClockAdnOtherViewController new]; vc.isRedact = redact; vc.alarmModel = model; vc.isUpdataMsg = ^{ [self GetQueryAlarm]; }; [self.navigationController pushViewController:vc animated:YES]; } else { AddAttendClassAlarmViewController *vc = [AddAttendClassAlarmViewController new]; vc.isRedact = redact; vc.alarmModel = model; vc.isUpdataMsg = ^{ [self GetQueryAlarm]; }; [self.navigationController pushViewController:vc animated:YES]; } } #pragma mark CommTableViewDelegate - (void)CommTableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { AlarmModel *model = self.modelListArr[indexPath.row]; [UICommon MessageUpload:@"加载中"]; NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; [parameters setValue:model.Id forKey:@"id"]; [parameters setValue:APIManager.sharedManager.deviceModel.imei forKey:@"imei"]; [[[APIManager sharedManager] APPOST:self.viewType == 1 ? DeleteAlarm_URL : DeleteDisabled_URL parameters:parameters isJson:YES resultClass:nil] subscribeNext:^(id _Nullable x) { [UICommon HidenLoading]; [UICommon MessageSuccessText:@"删除成功"]; [self GetQueryAlarm]; } error:^(NSError * _Nullable error) { NSDictionary *dic = error.userInfo; [UICommon MessageErrorText:dic[NSLocalizedDescriptionKey]]; }]; } #pragma mark - DZNEmptyDataSetSource,DZNEmptyDataSetDelegate - (void)emptyDataSet:(UIScrollView *)scrollView didTapView:(UIView *)view { [self pusView:nil redact:1]; } /* #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