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.

276 lines
9.5 KiB

//
// 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