|
|
|
//
|
|
|
|
// FamilyViewController.m
|
|
|
|
// tongxin
|
|
|
|
//
|
|
|
|
// Created by ecell on 2021/7/16.
|
|
|
|
// Copyright © 2021 xTT. All rights reserved.
|
|
|
|
//
|
|
|
|
|
|
|
|
#import "FamilyViewController.h"
|
|
|
|
#import "FamilyContact.h"
|
|
|
|
#import "SelectFamilyContactViewController.h"
|
|
|
|
#import "FamilyTableViewCell.h"
|
|
|
|
|
|
|
|
@interface FamilyViewController ()<LGAlertViewDelegate>
|
|
|
|
{
|
|
|
|
BOOL isDeletMode; ///删除模式
|
|
|
|
}
|
|
|
|
|
|
|
|
@property (nonatomic,strong) UIView * vbottom;
|
|
|
|
@property (nonatomic,strong) UIButton *leftBtn;
|
|
|
|
@property (nonatomic,strong) UIBarButtonItem *rightBarButton;
|
|
|
|
@property (nonatomic,strong) FamilyContact *familyContact;
|
|
|
|
|
|
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
@implementation FamilyViewController
|
|
|
|
|
|
|
|
-(void)setRightBarBtnTitle:(NSString *)title RoImage:(UIImage *)image{
|
|
|
|
if(title){
|
|
|
|
self.rightBarButton = [[UIBarButtonItem alloc] initWithTitle:title
|
|
|
|
style:UIBarButtonItemStylePlain
|
|
|
|
target:self
|
|
|
|
action:@selector(setDeleteModel)];
|
|
|
|
|
|
|
|
}
|
|
|
|
if (image) {
|
|
|
|
self.rightBarButton = [[UIBarButtonItem alloc] initWithImage: [UIImage imageNamed:@"icon_delete"]
|
|
|
|
style:UIBarButtonItemStylePlain
|
|
|
|
target:self
|
|
|
|
action:@selector(setDeleteModel)];
|
|
|
|
}
|
|
|
|
//self.navigationItem.rightBarButtonItem = self.rightBarButton;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
- (void)viewDidLoad {
|
|
|
|
[super viewDidLoad];
|
|
|
|
[self setRightBarBtnTitle:nil RoImage:[UIImage imageNamed:@"icon_delete"]];
|
|
|
|
[self setTitle:@"情号码"];
|
|
|
|
CGRect newFrame = self.myTableView.frame;
|
|
|
|
newFrame.size.height = newFrame.size.height - 45 - 22;
|
|
|
|
self.myTableView.frame = newFrame;
|
|
|
|
self.view.backgroundColor = self.myTableView.backgroundColor;
|
|
|
|
[self.myTableView registerNib:[UINib nibWithNibName:@"FamilyTableViewCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"FamilyTableViewCellID"];
|
|
|
|
self.myTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
|
|
|
|
[self.view addSubview:self.myTableView];
|
|
|
|
self.familyContact = [[FamilyContact alloc] init];
|
|
|
|
}
|
|
|
|
|
|
|
|
- (void)viewWillAppear:(BOOL)animated{
|
|
|
|
[super viewWillAppear:animated];
|
|
|
|
[self setUI];
|
|
|
|
[self loadData];
|
|
|
|
}
|
|
|
|
|
|
|
|
-(void)loadData{
|
|
|
|
WEAKSELF
|
|
|
|
[self.familyContact query:^(NSMutableArray *arr) {
|
|
|
|
[weakSelf.myDataSource removeAllObjects];
|
|
|
|
[weakSelf.myDataSource addObject:arr];
|
|
|
|
[weakSelf.myTableView reloadData];
|
|
|
|
} failure:^(NSError *error) {
|
|
|
|
if (!error) {
|
|
|
|
}
|
|
|
|
}];
|
|
|
|
}
|
|
|
|
|
|
|
|
-(void)setUI{
|
|
|
|
if(_vbottom){
|
|
|
|
[_vbottom removeFromSuperview];
|
|
|
|
_vbottom = nil;
|
|
|
|
}
|
|
|
|
|
|
|
|
CGFloat tempHeight = 45+11;
|
|
|
|
if(ScreenHeight >= 812){
|
|
|
|
tempHeight = 45+11+15;
|
|
|
|
}
|
|
|
|
_vbottom = [[UIView alloc] initWithFrame:CGRectMake(0, ScreenHeight-getRectNavAndStatusHight-tempHeight, ScreenWidth, tempHeight)];
|
|
|
|
|
|
|
|
_leftBtn = [UIButton buttonWithType:UIButtonTypeCustom];
|
|
|
|
[_leftBtn setTitle:@"添加亲情号码" forState:UIControlStateNormal];
|
|
|
|
[_leftBtn.layer setCornerRadius:3];
|
|
|
|
[_leftBtn.layer setMasksToBounds:YES];
|
|
|
|
[_leftBtn setBackgroundColor:mainColor];
|
|
|
|
[_leftBtn setTitleColor:[UIColor whiteColor] forState:0];
|
|
|
|
[_leftBtn.titleLabel setFont:[UIFont systemFontOfSize:15]];
|
|
|
|
|
|
|
|
_leftBtn.frame = CGRectMake(14, 1, (ScreenWidth-28), 44);
|
|
|
|
[_vbottom addSubview:_leftBtn];
|
|
|
|
[self.view addSubview:_vbottom];
|
|
|
|
[self.view bringSubviewToFront:_vbottom]; //置顶
|
|
|
|
[_leftBtn addTarget:self action:@selector(leftBtnAction:) forControlEvents:UIControlEventTouchUpInside];
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//MARK: 删除的方法
|
|
|
|
-(void)deleteContactFuntionWith:(NSString*)deleteId imei:(NSString *)imei{
|
|
|
|
WEAKSELF
|
|
|
|
NSString *content = @"确认要删除亲情号?";
|
|
|
|
LGAlertView *alertView = [[LGAlertView alloc] initWithTitle:@"注意" message:content style:LGAlertViewStyleAlert buttonTitles:@[@"确定"] cancelButtonTitle:@"取消" destructiveButtonTitle:nil actionHandler:^(LGAlertView *alertView, NSString *title, NSUInteger index) {
|
|
|
|
|
|
|
|
[weakSelf.familyContact deleteOne:deleteId imei:imei success:^{
|
|
|
|
[UICommon MessageSuccessText:@"删除亲情号成功" isImg:YES];
|
|
|
|
xLog(@"删除联系人成功!")
|
|
|
|
[weakSelf loadData];
|
|
|
|
} failure:^(NSError *error) {
|
|
|
|
xLog(@"删除通讯录失败");
|
|
|
|
if (error) {
|
|
|
|
if(error.userInfo) {
|
|
|
|
if (error.userInfo[@"msg"]) {
|
|
|
|
[UICommon MessageErrorText:error.userInfo[@"msg"]];
|
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}];
|
|
|
|
} cancelHandler:nil destructiveHandler:nil];
|
|
|
|
|
|
|
|
[alertView showAnimated:YES completionHandler:nil];
|
|
|
|
}
|
|
|
|
|
|
|
|
-(void)leftBtnAction:(UIButton*)sender {
|
|
|
|
SelectFamilyContactViewController * vc = [SelectFamilyContactViewController new];
|
|
|
|
vc.isContact = YES;
|
|
|
|
vc.isAddContact = YES;
|
|
|
|
vc.isAddFamilyContact = YES;
|
|
|
|
|
|
|
|
//WEAKSELF
|
|
|
|
//vc.selectContactBack = ^(NSString *contact, NSNumber *contactId, NSString *phone, NSString *name) {
|
|
|
|
// //刷新数据
|
|
|
|
// [weakSelf loadData];
|
|
|
|
//};
|
|
|
|
|
|
|
|
[self.navigationController pushViewController:vc animated:YES];
|
|
|
|
}
|
|
|
|
|
|
|
|
//MARK: 进入删除状态
|
|
|
|
-(void)setDeleteModel{
|
|
|
|
|
|
|
|
}
|
|
|
|
//MARK: 取消删除状态
|
|
|
|
-(void)clearBtnActoin{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
-(UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
|
|
|
|
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, ScreenWidth, 31)];
|
|
|
|
view.backgroundColor = RGB(248, 248, 254);
|
|
|
|
UILabel * titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(14, 0, ScreenWidth, 31)];
|
|
|
|
titleLabel.font = [UIFont systemFontOfSize:12];
|
|
|
|
titleLabel.textColor = RGB(102, 102, 102);
|
|
|
|
[view addSubview:titleLabel];
|
|
|
|
NSInteger tempCount = [self.myDataSource[section] count];
|
|
|
|
titleLabel.text = [NSString stringWithFormat:@"亲情号(%zd人)",tempCount];
|
|
|
|
return view;
|
|
|
|
}
|
|
|
|
|
|
|
|
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
|
|
|
|
NSInteger tempCount = [self.myDataSource[section] count];
|
|
|
|
if (section == 1){
|
|
|
|
if(tempCount == 0){
|
|
|
|
return 0.01;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 31;
|
|
|
|
}
|
|
|
|
|
|
|
|
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
|
|
|
|
FamilyContact *contacts = self.myDataSource[indexPath.section][indexPath.row];
|
|
|
|
FamilyTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"FamilyTableViewCellID" forIndexPath:indexPath];
|
|
|
|
cell.nameLabel.text = contacts.name;
|
|
|
|
cell.phoneLabel.text = contacts.phone;
|
|
|
|
cell.shortcutLabel.text = [NSString stringWithFormat:@"快捷键:%@",contacts.number];
|
|
|
|
[cell isCanEditStatus:YES];
|
|
|
|
|
|
|
|
//普通联系人 出示箭头,有提示
|
|
|
|
[cell isCanEditStatus:YES];
|
|
|
|
[cell setDelectModel:isDeletMode];
|
|
|
|
|
|
|
|
if (contacts.phone.length == 0) {
|
|
|
|
cell.phoneLabel.text = @"未设置";
|
|
|
|
}else{
|
|
|
|
cell.phoneLabel.text = contacts.phone;
|
|
|
|
}
|
|
|
|
|
|
|
|
//根据 关系 显示对应的头像
|
|
|
|
cell.headImageView.image = [UIImage imageNamed:@"icon_phonebook"];//[myHelper getClickRelationshipImageWithCodeID:[contacts.relationship_image_id intValue]];
|
|
|
|
NSInteger lastIndex = [self.myDataSource[indexPath.section] count] - 1;
|
|
|
|
|
|
|
|
if(lastIndex < 0){
|
|
|
|
lastIndex = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
if(lastIndex > 0 && indexPath.row == lastIndex){
|
|
|
|
[cell.lineView setHidden:YES];
|
|
|
|
}else{
|
|
|
|
[cell.lineView setHidden:NO];
|
|
|
|
}
|
|
|
|
|
|
|
|
return cell;
|
|
|
|
}
|
|
|
|
|
|
|
|
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
|
|
|
|
return 84;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
|
|
|
|
return YES;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//MARK: 设置cell 的 交互 样式
|
|
|
|
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView
|
|
|
|
editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
|
|
|
|
/**
|
|
|
|
UITableViewCellEditingStyleNone,
|
|
|
|
UITableViewCellEditingStyleDelete,
|
|
|
|
UITableViewCellEditingStyleInsert
|
|
|
|
*/
|
|
|
|
//设置右滑 删除的 样式
|
|
|
|
return UITableViewCellEditingStyleDelete;
|
|
|
|
//return UITableViewCellEditingStyleNone;
|
|
|
|
}
|
|
|
|
|
|
|
|
- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath {
|
|
|
|
return @"删除";
|
|
|
|
}
|
|
|
|
|
|
|
|
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
|
|
|
|
|
|
|
|
FamilyContact *contacts = self.myDataSource[indexPath.section][indexPath.row];
|
|
|
|
[self deleteContactFuntionWith:contacts.id imei:contacts.imei];
|
|
|
|
//[self.myDataSource[indexPath.section] removeObject:contacts];
|
|
|
|
//[tableView reloadData];
|
|
|
|
}
|
|
|
|
|
|
|
|
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
|
|
|
|
|
|
|
|
FamilyContact *contacts = self.myDataSource[indexPath.section][indexPath.row];
|
|
|
|
//是自己---直接跳
|
|
|
|
[self jumpContactVCWith:contacts];
|
|
|
|
}
|
|
|
|
|
|
|
|
//MARK: 跳转到 修改/添加 联系人 页面
|
|
|
|
|
|
|
|
-(void)jumpContactVCWith:(FamilyContact*)contacts{
|
|
|
|
//跳转到选择关系页面
|
|
|
|
SelectFamilyContactViewController * vc = [SelectFamilyContactViewController new];
|
|
|
|
vc.isContact = YES;
|
|
|
|
vc.isUpdateFamilyContact = YES;
|
|
|
|
vc.phone = contacts.phone; //本机电话号码
|
|
|
|
vc.name = contacts.name;
|
|
|
|
vc.shortcut = contacts.number;
|
|
|
|
vc.familyContactModel = contacts;
|
|
|
|
|
|
|
|
//vc.selectContactBack = ^(NSString *contact, NSNumber *contactId, NSString *phone, NSString *name) {
|
|
|
|
// //刷新数据
|
|
|
|
// [self loadData];
|
|
|
|
//
|
|
|
|
//};
|
|
|
|
[self.navigationController pushViewController:vc animated:YES];
|
|
|
|
}
|
|
|
|
|
|
|
|
@end
|