// // MemberListViewController.m // LekangGuard // // Created by ecell on 2023/8/29. // #import "MemberListViewController.h" #import "MemberListTableViewCell.h" #import "AmendContactsViewController.h" @interface MemberListViewController () @property (nonatomic ,strong) CommonTableView *listTable; /// 用户身份(0:游客,1:普通用户(关注的人),2:管理员) @property (nonatomic ,assign) NSInteger identity; @end @implementation MemberListViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. self.view.backgroundColor = KKBackgroundGrey; [self.view addSubview:self.listTable]; [self.listTable mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; [self GetQueryAddressList]; } - (CommonTableView *)listTable { if (!_listTable) { _listTable = [[CommonTableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain cellHeight:88 cellRow:0 isAdaptive:NO isLine:NO commonCell:MemberListTableViewCell.class createCell:^(ZZTableViewCell * _Nonnull cells, NSIndexPath * _Nonnull indexPath) { MemberListTableViewCell *cell = (MemberListTableViewCell *)cells; cell.contactsModel = self.modelListArr[indexPath.row]; } selectedCell:^(UITableView * _Nonnull tableView, NSIndexPath * _Nonnull indexPath) { ContactsModel *contacts = self.modelListArr[indexPath.row]; if(self.identity == 2)/// 如果自己是管理员可操作其他联系人 { //如果自己是管理员 kWeakSelf(self) //是自己---直接跳 if([contacts.openId isEqualToString:APIManager.sharedManager.loginModel.openid]){ [self jumpContactVCWith:contacts]; return; } EasyAlertView *alertV = [EasyAlertView alertViewWithTitle:nil subtitle:F(@"%@ %@",GJText(@"联系人"),contacts.name) AlertViewType:AlertViewTypeSystemActionSheet config:nil]; [alertV addAlertItem:^EasyAlertItem *{ return [EasyAlertItem itemWithTitle:GJText(@"取消") type:AlertItemTypeSystemCancel callback:nil]; }]; [alertV addAlertItemWithTitle:GJText(@"删除") type:AlertItemTypeSystemDestructive callback:^(EasyAlertView *showview, long index) { [weakself deleteContactFuntionWith:@[contacts.Id]]; }]; if(contacts.identity != 2 && contacts.openId) { [alertV addAlertItemWithTitle:GJText(@"设置为管理员") type:AlertItemTypeSystemDefault callback:^(EasyAlertView *showview, long index) { NSString *msg = [NSString stringWithFormat:@"%@ %@ ?",GJText(@"确认将管理员转给"),contacts.relation]; EasyAlertView *alertV = [EasyAlertView alertViewWithTitle:GJText(@"提示") subtitle:msg AlertViewType:AlertViewTypeSystemAlert config:nil]; [alertV addAlertItem:^EasyAlertItem *{ return [EasyAlertItem itemWithTitle:GJText(@"取消") type:AlertItemTypeSystemCancel callback:nil]; }]; [alertV addAlertItem:^EasyAlertItem *{ return [EasyAlertItem itemWithTitle:GJText(@"确定") type:AlertItemTypeSystemDefault callback:^(EasyAlertView *showview, long index) { [weakself SetAdmin:contacts.Id identity:2]; }]; }]; [alertV showAlertView]; }]; } if(contacts.setBind == 0) { [alertV addAlertItemWithTitle:GJText(@"编辑联系人") type:AlertItemTypeSystemDefault callback:^(EasyAlertView *showview, long index) { [weakself jumpContactVCWith:contacts]; }]; } [alertV showAlertView]; } else { //成员 //是自己---直接跳 if([contacts.openId isEqualToString:APIManager.sharedManager.loginModel.openid]) { [self jumpContactVCWith:contacts]; return; } else if(contacts.openId) { // 非自己的成员(也包括管理员) return; } else { //普通联系人 kWeakSelf(self) EasyAlertView *alertV = [EasyAlertView alertViewWithTitle:nil subtitle:[NSString stringWithFormat:@"%@ %@",GJText(@"联系人"),contacts.name] AlertViewType:AlertViewTypeSystemActionSheet config:nil]; [alertV addAlertItem:^EasyAlertItem *{ return [EasyAlertItem itemWithTitle:GJText(@"取消") type:AlertItemTypeSystemCancel callback:nil]; }]; [alertV addAlertItem:^EasyAlertItem *{ return [EasyAlertItem itemWithTitle:GJText(@"删除") type:AlertItemTypeSystemDestructive callback:^(EasyAlertView *showview, long index) { [weakself deleteContactFuntionWith:@[contacts.Id]]; }]; }]; [alertV addAlertItemWithTitleArray:@[GJText(@"编辑联系人")] callback:^(EasyAlertView *showview, long index) { NSLog(@"%ld",index); [weakself jumpContactVCWith:contacts]; }]; [alertV showAlertView]; } } } DidscrollView:^(UIScrollView * _Nonnull scrollView) { }]; _listTable.backgroundColor = KKClearColor; } return _listTable; } #pragma mark 查询通讯录成员 /// 查询通讯录成员 - (void)GetQueryAddressList { [UICommon MessageUpload:@"加载中"]; NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; [parameters setValue:APIManager.sharedManager.deviceModel.imei forKey:@"imei"]; [[[APIManager sharedManager] APGET:QueryAddressList_URL parameters:parameters resultClass:nil] subscribeNext:^(NSArray *arr) { [UICommon HidenLoading]; if (ARRAYHASVALUE(arr)) { [self.modelListArr removeAllObjects]; for (NSDictionary *dic in arr) { ContactsModel *model = [ContactsModel yy_modelWithJSON:dic]; if ([model.openId isEqualToString:APIManager.sharedManager.loginModel.openid]) self.identity = model.identity; model.isSelect = NO; if (model.setBind == 1) [self.modelListArr addObject:model]; } } self.listTable.cellRow = self.modelListArr.count; [self.listTable reloadData]; } error:^(NSError * _Nullable error) { NSDictionary *dic = error.userInfo; [UICommon MessageErrorText:dic[NSLocalizedDescriptionKey]]; }]; } #pragma mark 跳转到 修改/添加 联系人 页面 - (void)jumpContactVCWith:(ContactsModel*)contacts { AmendContactsViewController *vc = [AmendContactsViewController new]; vc.conModel = contacts; vc.isUpdateSucceed = ^{ [self GetQueryAddressList]; }; [[UICommon currentVC].navigationController pushViewController:vc animated:YES]; vc.zx_navTitle = @"修改家庭成员"; } #pragma mark 删除 /// 删除 - (void)deleteContactFuntionWith:(NSArray *)IdArr { if(IdArr.count == 0) { LGAlertView *alertView = [[LGAlertView alloc] initWithTitle:GJText(@"注意") message:GJText(@"请选择要删除的联系人") style:LGAlertViewStyleAlert buttonTitles:@[GJText(@"确定")] cancelButtonTitle:nil destructiveButtonTitle:nil actionHandler:^(LGAlertView * _Nonnull alertView, NSUInteger index, NSString * _Nullable title) {} cancelHandler:^(LGAlertView * _Nonnull alertView) {} destructiveHandler:^(LGAlertView * _Nonnull alertView) {}]; [alertView showAnimated:YES completionHandler:nil]; return; } LGAlertView *alertView = [[LGAlertView alloc] initWithTitle:GJText(@"注意") message:F(GJText(@"确认要删除%ld个联系人?"),IdArr.count) style:LGAlertViewStyleAlert buttonTitles:@[GJText(@"确定")] cancelButtonTitle:GJText(@"取消") destructiveButtonTitle:nil actionHandler:^(LGAlertView * _Nonnull alertView, NSUInteger index, NSString * _Nullable title) { [UICommon MessageUpload:@"加载中"]; [[[APIManager sharedManager] PostBodyWithApi:F(@"%@?imei=%@", DelBatchAddress_URL,APIManager.sharedManager.deviceModel.imei) json:[IdArr yy_modelToJSONString]] subscribeNext:^(id _Nullable x) { [UICommon MessageSuccessText:@"删除成功"]; [self GetQueryAddressList]; } completed:^{ }]; } cancelHandler:^(LGAlertView * _Nonnull alertView) {} destructiveHandler:^(LGAlertView * _Nonnull alertView) {}]; [alertView showAnimated:YES completionHandler:nil]; } #pragma mark 转让管理员 /// 转让管理员 - (void)SetAdmin:(NSString *)Id identity:(NSInteger)identity { [UICommon MessageUpload:@"加载中"]; NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; [parameters setValue:Id forKey:@"id"]; [parameters setValue:@(identity) forKey:@"identity"]; [parameters setValue:APIManager.sharedManager.deviceModel.imei forKey:@"imei"]; [[[APIManager sharedManager] APPOST:SetAdmin_URL parameters:parameters isJson:YES resultClass:nil] subscribeNext:^(id _Nullable x) { [UICommon HidenLoading]; [UICommon MessageSuccessText:@"管理员转让成功"]; [self GetQueryAddressList]; } 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