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.
 
 
 
 

853 lines
35 KiB

//
// EditDeviceViewController.m
// watch
//
// Created by xTT on 2017/7/17.
// Copyright © 2017年 xTT. All rights reserved.
//
#import "EditDeviceViewController.h"
#import "SelectContactVC.h"
#import "EditDeviceHeadTableViewCell.h"
#import "EidtDeviceContactWithDeviceTableViewCell.h"
#import "NewTableViewCell.h"
#import "NewOrdinaryTableViewCell.h"
#import "LoginViewController.h"
#import "QRcodeViewController.h"
#import "MyUILabel.h"
@interface EditDeviceViewController ()<UIImagePickerControllerDelegate, UINavigationControllerDelegate,UITextFieldDelegate>
{
NSInteger _loginType;// 登录的类型
}
@property (strong, nonatomic) UITextField *nameTextField;
@property (nonatomic ,strong) NSString *girl_nan;
@property (nonatomic ,strong) NSString *girl_nv;
@property (nonatomic ,strong) UIView *headerView;
@end
@implementation EditDeviceViewController
@synthesize myDataSource = _myDataSource;
- (NSMutableArray *)myDataSource{
if (!_myDataSource) {
_myDataSource = [[NSMutableArray alloc] initWithArray:@[@[@"头部信息",@"名称",@"性别",@"设备电话号码"],@[self.deviceType.integerValue == 3 ? @"与我的关系" : @"关系",@"生日",@"身高(cm)",@"体重(kg)"]]];
}
return _myDataSource;
}
-(void)setIsAdd:(BOOL)isAdd{
_isAdd = isAdd;
if(isAdd){
_isEdit = YES;
}
}
-(void)setIsShowAllInfo:(BOOL)isShowAllInfo{
_isShowAllInfo = isShowAllInfo;
if(isShowAllInfo){
self.myDataSource = [[NSMutableArray alloc] initWithArray:@[@[@"头部信息",@"名称",@"性别",@"设备电话号码"],@[self.deviceType.integerValue == 3 ? @"与我的关系" : @"关系",@"生日",@"身高(cm)",@"体重(kg)"]]];
}else{
self.myDataSource = [[NSMutableArray alloc] initWithArray:@[@[@"头部信息",@"名称",@"性别",@"设备电话号码"],@[self.deviceType.integerValue == 3 ? @"与我的关系" : @"关系",@"生日",@"身高(cm)",@"体重(kg)"]]];
}
}
-(void)setIsEdit:(BOOL)isEdit{
_isEdit = isEdit;
[self.view endEditing:YES]; // 取消所有 文本框焦点
[self.myTableView reloadData];
}
- (Device *)editDevice{
if (!_editDevice) {
if(!self.isAdd){
_editDevice = cUser.cDevice;
}
if(!_editDevice){
_editDevice = [[Device alloc] init];
}
if(!_editDevice.imei){
_editDevice.imei = self.IMEI;
}
}
return _editDevice;
}
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
_loginType = [myHelper getNowAccoutType:cUser];
}
- (void)viewDidLoad {
[super viewDidLoad];
self.deviceType = self.isAdd ? self.deviceType : cUser.cDevice.deviceType;
self.girl_nan = self.deviceType.integerValue == 3 ? @"" : @"男孩";
self.girl_nv = self.deviceType.integerValue == 3 ? @"" : @"女孩";
[self zx_setRightBtnWithText:@"编辑" clickedBlock:^(ZXNavItemBtn * _Nonnull btn) {
if([self.zx_navRightBtn.currentTitle isEqualToString:@"保存"] || [self.zx_navRightBtn.currentTitle isEqualToString:@"添加"])
[self rightBarItemClick];
if (!self.isAdd)
[self navButtonState];
}];
if(self.isAdd)
{
self.zx_navTitle = @"添加设备";
[self.zx_navRightBtn setTitle:@"添加" forState:0];
self.isShowAllInfo = NO;
}
else
{
self.zx_navTitle = @"设备资料";
}
[self initTableCellView];
}
- (void)navButtonState
{
self.isEdit = YES;
[self.zx_navRightBtn setTitle:@"保存" forState:0];
[self.zx_navRightBtn setTitleColor:mainColor forState:0];
self.zx_backBtnImageName = @"";
[self.zx_navLeftBtn setTitle:@"取消" forState:0];
[self zx_leftClickedBlock:^(ZXNavItemBtn * _Nonnull btn) {
if ([self.zx_navRightBtn.currentTitle isEqualToString:@"编辑"])
[self.navigationController popViewControllerAnimated:YES];
self.zx_backBtnImageName = @"icon_balck_return";
[self.zx_navRightBtn setTitle:@"编辑" forState:0];
[self.zx_navLeftBtn setTitle:@"" forState:0];
[self.zx_navRightBtn setTitleColor:KKTextBlackColor forState:0];
self.isEdit = NO;
}];
[self.myTableView reloadData];
}
/**
初始化tableViewCell
*/
-(void)initTableCellView{
self.myTableView.frame = CGRectMake(16, iPhoneX_NavHeight, ScreenWidth-32, ScreenHeight-iPhoneX_NavHeight);
self.myTableView.tableHeaderView = self.headerView;
self.myTableView.tableHeaderView.height = 208;
//设备头像头部
[self.myTableView registerNib:[UINib nibWithNibName:@"EditDeviceHeadTableViewCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"EditDeviceHeadTableViewCellID"];
// 关系尾部
[self.myTableView registerNib:[UINib nibWithNibName:@"EidtDeviceContactWithDeviceTableViewCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"EidtDeviceContactWithDeviceTableViewCellID"];
// 中间的 cell
[self.myTableView registerNib:[UINib nibWithNibName:@"NewOrdinaryTableViewCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"NewOrdinaryTableViewCellID"];
// 去线
self.myTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.myTableView.backgroundColor = RGB(248 , 248, 248);
}
/**
修改,保存 和 添加的方法
*/
- (void)rightBarItemClick
{
self.editDevice.name = self.nameTextField.text;
// if(self.isEdit == YES || ([self.zx_navRightBtn.currentTitle isEqualToString:@"添加"]))
// {
if(!self.editDevice.name || self.editDevice.name.length == 0){
[UICommon MessageErrorText:@"请输入名称"];
}else if(!self.editDevice.sex || self.editDevice.sex.length == 0 ){
[UICommon MessageErrorText:@"请输入性别"];
}else if(!self.editDevice.birthday || self.editDevice.birthday.length == 0){
[UICommon MessageErrorText:@"请输入生日"];
}else if(!self.editDevice.height || self.editDevice.height.length == 0){
[UICommon MessageErrorText:@"请输入身高"];
}else if(!self.editDevice.weight || self.editDevice.weight.length == 0){
[UICommon MessageErrorText:@"请输入体重"];
}else if(!self.editDevice.phone || self.editDevice.phone.length == 0){
[UICommon MessageErrorText:@"请输入设备电话号码"];
}
else
{
WEAKSELF
if(self.isAdd)
{
/// 添加设备
[cUser addDeviceWithDevice:self.editDevice success:^(id responseObject) {
cUser.cDevice.image = self.editDevice.image;
cUser.cDevice.phone = self.editDevice.phone;
cUser.cDevice.name = self.editDevice.name;
cUser.cDevice.avator = self.editDevice.avator;
[weakSelf quitThisVC];
} failure:^(id faiObject) {
}];
}
else
{
/// 编辑资料
[self saveAction];
}
}
// }
// else if (self.isEdit == NO)
// {
// self.isEdit = YES;
// }
}
-(void)saveAction{
// 防止 cell中的 TextField 重用导致的 my_phone 错乱问题
self.editDevice.my_phone = cUser.phone;
WEAKSELF
[self.editDevice saveDeviceInfoSuccess:^(id responseObject) {
cUser.cDevice.image = self.editDevice.image;
cUser.cDevice.phone = self.editDevice.phone;
cUser.cDevice.name = self.editDevice.name;
cUser.cDevice.avator = self.editDevice.avator;
[weakSelf quitThisVC];
} failure:^(NSError *error) {
}];
}
-(void)goBack:(id)sender
{
[self.view endEditing:YES];
if(!self.isAdd){
if(self.isEdit){
WEAKSELF
LGAlertView *alertView = [[LGAlertView alloc] initWithTitle:nil message:@"是否保存修改" style:LGAlertViewStyleAlert buttonTitles:@[@"确定"] cancelButtonTitle:@"取消" destructiveButtonTitle:nil actionHandler:^(LGAlertView *alertView, NSString *title, NSUInteger index) {
[weakSelf rightBarItemClick];
} cancelHandler:^(LGAlertView *alertView) {
[weakSelf quitThisVC];
} destructiveHandler:^(LGAlertView *alertView) {
}];
[alertView showAnimated:YES completionHandler:nil];
}else{
[self quitThisVC];
}
}else{
[self quitThisVC];
}
}
-(void)quitThisVC
{
if(self.isAdd)
{
//MARK: 为了让新添加的设备在主位置上
[User currentUser].cDevice = nil;
[[User currentUser].myDevices removeAllObjects];
//添加模式
//如果是登录页面进去的添加模式 dissmiss 登录页面
if ([self.navigationController.viewControllers.firstObject isKindOfClass:[LoginViewController class]]) {
[self dismissViewControllerAnimated:YES completion:nil];
NSLog( @"==========1==========");
}else{
//回到主页面
[self.navigationController popToRootViewControllerAnimated:YES];
// [self.navigationController popViewControllerAnimated:YES];
NSLog(@"==========2==========");
}
[[NSNotificationCenter defaultCenter] postNotificationName:@"device_add" object:nil];
}else
{
//修改模式
//回到主页面
// [self.navigationController popToRootViewControllerAnimated:YES];
[UICommon MessageSuccessText:@"保存成功" isImg:NO];
AfterDispatch(1, ^{
[self.navigationController popViewControllerAnimated:YES];
});
NSLog(@"==========3==========");
}
}
/**
显示完善资料的切换
*/
-(void)perfectInformationAction{
self.isShowAllInfo = YES;
[self.myTableView reloadData];
}
/**
解除绑定 方法
*/
- (void)unbundlingBtn:(id)sender {
// 管理员显示--- 您是设备的管理员,如果您进行解绑,其他绑定该设备的用户,将自动解绑,确认解除绑定吗?
NSString *msg = @"是否解除绑定?";
if([cUser.cDevice.identity isEqualToString:@"admin"]){
msg = @"您是设备的管理员,如果您进行解绑,其他绑定该设备的用户,将自动解绑,确认解除绑定吗?";
}
UIAlertController *sheet = [myHelper getAlertWithTitle:msg
actionTitles:@[@"确定"]
style:UIAlertControllerStyleAlert
block:^(UIAlertAction *action)
{
if ([action.title isEqualToString:@"确定"]) {
NSMutableDictionary * parameters = [NSMutableDictionary dictionary];
[parameters setObject:cUser.cDevice.imei forKey:@"imei"];
[cUser deleteDeviceSuccess:^(id responseObject) {
//回到首页
[self.navigationController popToRootViewControllerAnimated:YES];
} failure:^(id faiObject) {
}];
}
}];
[self presentViewController:sheet animated:YES completion:nil];
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
NSString *title = self.myDataSource[indexPath.section][indexPath.row];
if (!self.isShowAllInfo && [title isEqualToString:@"完善设备资料"]){
return 0;
}
return 60; // 50--》60
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
NSString *title = self.myDataSource[indexPath.section][indexPath.row];
if(indexPath.section == 0 && indexPath.row == 0)
{
//头部信息
EditDeviceHeadTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"EditDeviceHeadTableViewCellID" forIndexPath:indexPath];
[cell setDevice:self.editDevice WithStatus:self.isAdd isEdting:self.isEdit];
return cell;
}
else if(indexPath.section == 1 && indexPath.row == 0)
{ // 关系
NewOrdinaryTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"NewOrdinaryTableViewCellID" forIndexPath:indexPath];
cell.accessoryType = UITableViewCellAccessoryNone;
cell.aTitleLabel.text = title;
cell.deviceType = self.deviceType;
[cell setDevice:self.editDevice];
cell.contactLabel.textColor = KKBlack20;
cell.contactLabel.font = FontBold_(14);
[UICommon ui_uiViewFillet:cell.bounds Viewdirection:PYUIdirectionTop toView:cell sizeMake:12];
if(self.isEdit && ([self.editDevice.identity isEqualToString:@"admin"] || _loginType == 3))
{
//需 管理员关系 或者是imei游客登录 且 在编辑状态下 才能修改
cell.userInteractionEnabled = YES;
}
else
{
if(self.isEdit)
{
cell.userInteractionEnabled = YES;
}
else
{
//cell.contactLabel.textColor = RGB(204, 204, 204);
cell.userInteractionEnabled = NO;
}
}
[cell.contactImageView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.centerY.equalTo(cell);
make.right.equalTo(cell.mas_right).inset(15);
make.width.height.mas_equalTo(40);
}];
[cell.contactLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
make.right.equalTo(cell.mas_right).inset(60);
make.centerY.equalTo(cell);
}];
return cell;
}
else if (!self.isShowAllInfo && [title isEqualToString:@"完善设备资料"])
{
UITableViewCell *cell = [UITableViewCell new];
return cell;
}
else
{
NewOrdinaryTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"NewOrdinaryTableViewCellID" forIndexPath:indexPath];
if ((indexPath.section == 0 && indexPath.row == 3) || (indexPath.section == 1 && indexPath.row == 3))
[UICommon ui_uiViewFillet:cell.bounds Viewdirection:PYUIdirectionBotton toView:cell sizeMake:12];
cell.accessoryType = UITableViewCellAccessoryNone;
cell.aTitleLabel.text = title;
cell.aTextField.textAlignment = NSTextAlignmentRight;
cell.aTextField.textColor = KKBlack20;
cell.aTextField.font = FontBold_(14);
//在区域的尾部 隐藏线
NSInteger lastIndex = [self.myDataSource[indexPath.section] count] -1;
if(lastIndex < 0){
lastIndex = 0;
}
if(indexPath.section == 0 && indexPath.row == lastIndex){
cell.lineView.hidden = YES;
}else if (indexPath.section == 1 && indexPath.row == lastIndex){
cell.lineView.hidden = YES;
}else{
cell.lineView.hidden = NO;
}
// cell.aTextFRightNSLC.constant = 15;
// 需要设置一下默认 设置 ,防止 重用 cell input 错乱
[cell defaultInputView];
if(self.isEdit && ([self.editDevice.identity isEqualToString:@"admin"] || _loginType == 3)){
//需 管理员关系 或者是imei游客登录 且 在编辑状态下 才能修改
cell.userInteractionEnabled = YES;
}
else
{
if(self.isEdit)
{
//成员编辑状态下
/* 成员可编辑的状态
@"本机电话号码",
@"生日",
@"身高(cm)",
@"体重(kg)"
*/
if([title isEqualToString:@"本机电话号码"]
|| [title isEqualToString:@"生日"]
|| [title isEqualToString:@"身高(cm)"]
|| [title isEqualToString:@"体重(kg)"])
{
cell.userInteractionEnabled = YES;
}
else
{
if(self.isAdd){
cell.userInteractionEnabled = YES;
}else{
// cell.aTextField.textColor = [UIColor lightGrayColor];
cell.userInteractionEnabled = NO;
}
}
}
else
{
cell.aTextField.textColor = (![self.editDevice.identity isEqualToString:@"admin"] && ([title isEqualToString:@"头像"]
|| [title isEqualToString:@"性别"]
|| [title isEqualToString:@"名称"]
|| [title isEqualToString:@"设备电话号码"])) ? [UIColor lightGrayColor] : KKBlack20;
cell.userInteractionEnabled = NO;
}
}
if(!self.isAdd){
//
if ([title isEqualToString:@"名称"]) {
cell.aTextField.placeholder = @"请输入名称";
cell.aTextField.text = self.editDevice.name;
self.nameTextField = cell.aTextField;
cell.aTextField.delegate = self;
//不实现回调
cell.block = nil;
return cell;
}
if ([title isEqualToString:@"性别"]) {
cell.aTextField.placeholder = @"选择性别";
NSInteger index = ([self.editDevice.sex isEqualToString: @"girl"]) ? -1 : 0;
[cell numberInputViewWithStartNum:-1 EndNum:1 WithIndex:index];
cell.aTextField.text = ([self.editDevice.sex isEqualToString: @"girl"]) ? self.girl_nv : self.girl_nan;
}
if ([title isEqualToString:@"生日"]) {
NSDateFormatter *formatter = [NSDateFormatter new];
[formatter setDateFormat:@"yyyy-MM-dd"];
[cell timeInputViewWithModel:UIDatePickerModeDate WithData:[formatter dateFromString:self.editDevice.birthday]]; //日期
cell.aTextField.placeholder = @"eg:1994-01-01";
cell.aTextField.text = (self.editDevice.birthday) ?:@"";
}
if ([title isEqualToString:@"身高(cm)"]) {
[cell numberInputViewWithStartNum:50 EndNum:201 WithIndex:[self.editDevice.height integerValue]];
cell.aTextField.placeholder = @"输入身高";
cell.aTextField.text = (self.editDevice.height) ?:@"";
}
if ([title isEqualToString:@"体重(kg)"]) {
[cell numberInputViewWithStartNum:10 EndNum:101 WithIndex:[self.editDevice.weight integerValue]];
cell.aTextField.placeholder = @"输入体重";
cell.aTextField.text = (self.editDevice.weight) ?:@"";
}
if ([title isEqualToString:@"IMEI/MEID号"]) {
cell.aTextField.placeholder = @"请输入IMEI/MEID号";
cell.aTextField.enabled = NO;
cell.aTextField.textColor = [UIColor lightGrayColor];
cell.aTextField.text = self.editDevice.imei;
}
if ([title isEqualToString:@"设备电话号码"]) {
cell.aTextField.keyboardType = UIKeyboardTypePhonePad;
cell.aTextField.placeholder = @"请输入设备电话号码";
cell.aTextField.text = (self.editDevice.phone) ?:@"";
cell.aTextField.delegate = self;
}
if ([title isEqualToString:@"本机电话号码"]) {
cell.aTextField.keyboardType = UIKeyboardTypePhonePad;
cell.aTextField.placeholder = @"本机电话号码";
// cell.aTextField.enabled = NO;
// cell.aTextField.textColor = [UIColor lightGrayColor];
cell.aTextField.text = (self.editDevice.my_phone) ?:cUser.phone;
cell.aTextField.delegate = self;
}
WEAKSELF
cell.block = ^(NSString *text, NewTableViewCell *blockCell){
blockCell.aTextField.text = text;
if ([title isEqualToString:@"性别"]) {
weakSelf.editDevice.sex = ([text isEqualToString:@"0"]) ? @"girl" : @"boy";
blockCell.aTextField.text = ([text isEqualToString:@"0"]) ? self.girl_nv : self.girl_nan;
//需要刷新头部信息
[weakSelf.myTableView reloadRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:0 inSection:0]] withRowAnimation:UITableViewRowAnimationNone];
}else if ([title isEqualToString:@"生日"]) {
weakSelf.editDevice.birthday = text;
}else if([title isEqualToString:@"身高(cm)"]){
weakSelf.editDevice.height = text;
}else if([title isEqualToString:@"体重(kg)"]){
weakSelf.editDevice.weight = text;
}else if ([title isEqualToString:@"设备电话号码"]) {
weakSelf.editDevice.phone = text;
}else if ([title isEqualToString:@"本机电话号码"]) {
weakSelf.editDevice.my_phone = text;
}
};
}else{
//添加状态
if ([title isEqualToString:@"名称"]) {
cell.aTextField.placeholder = @"请输入名称";
cell.aTextField.text = self.isAdd && self.deviceType.integerValue == 3 ? @"" : self.editDevice.name;
self.nameTextField = cell.aTextField;
cell.aTextField.delegate = self;
//不实现回调
cell.block = nil;
return cell;
}
if ([title isEqualToString:@"性别"]) {
cell.aTextField.placeholder = @"选择性别";
cell.aTextField.text = ([self.editDevice.sex isEqualToString: @"girl"]) ? self.girl_nv : self.girl_nan;
NSInteger index = ([self.editDevice.sex isEqualToString: @"girl"]) ? -1 : 0;
[cell numberInputViewWithStartNum:-1 EndNum:1 WithIndex:index];
}
if ([title isEqualToString:@"生日"]) {
NSDateFormatter *formatter = [NSDateFormatter new];
[formatter setDateFormat:@"yyyy-MM-dd"];
[cell timeInputViewWithModel:UIDatePickerModeDate WithData:[formatter dateFromString:self.editDevice.birthday]]; //日期
cell.aTextField.placeholder = @"eg:1994-01-01";
cell.aTextField.text = self.editDevice.birthday;
}
if ([title isEqualToString:@"身高(cm)"]) {
[cell numberInputViewWithStartNum:50 EndNum:201 WithIndex:[self.editDevice.height integerValue]];
cell.aTextField.placeholder = @"输入身高";
cell.aTextField.text = self.editDevice.height;
}
if ([title isEqualToString:@"体重(kg)"]) {
[cell numberInputViewWithStartNum:10 EndNum:101 WithIndex:[self.editDevice.weight integerValue]];
cell.aTextField.placeholder = @"输入体重";
cell.aTextField.text = self.editDevice.weight;
}
if ([title isEqualToString:@"IMEI/MEID号"]) {
cell.aTextField.placeholder = @"请输入IMEI/MEID号";
cell.aTextField.enabled = NO;
cell.aTextField.textColor = [UIColor lightGrayColor];
cell.aTextField.text = self.editDevice.imei;
}
if ([title isEqualToString:@"设备电话号码"]) {
cell.aTextField.keyboardType = UIKeyboardTypePhonePad;
cell.aTextField.placeholder = @"请输入设备电话号码";
cell.aTextField.delegate = self;
}
if ([title isEqualToString:@"本机电话号码"]) {
cell.aTextField.keyboardType = UIKeyboardTypePhonePad;
cell.aTextField.placeholder = @"本机电话号码";
cell.aTextField.delegate = self;
// cell.aTextField.enabled = NO;
// cell.aTextField.textColor = [UIColor lightGrayColor];
if(self.editDevice.my_phone){
cell.aTextField.text = self.editDevice.my_phone;
}else{
cell.aTextField.text = cUser.phone;
self.editDevice.my_phone = cUser.phone;
}
}
WEAKSELF
cell.block = ^(NSString *text, NewTableViewCell *blockCell){
blockCell.aTextField.text = text;
if ([title isEqualToString:@"性别"]) {
weakSelf.editDevice.sex = ([text isEqualToString:@"0"]) ? @"girl" : @"boy";
blockCell.aTextField.text = ([text isEqualToString:@"0"]) ? self.girl_nv : self.girl_nan;
//需要刷新头部信息
[weakSelf.myTableView reloadRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:0 inSection:0]] withRowAnimation:UITableViewRowAnimationNone];
}else if ([title isEqualToString:@"生日"]) {
weakSelf.editDevice.birthday = text;
}else if([title isEqualToString:@"身高(cm)"]){
weakSelf.editDevice.height = text;
}else if([title isEqualToString:@"体重(kg)"]){
weakSelf.editDevice.weight = text;
}else if ([title isEqualToString:@"IMEI/MEID号"]) {
weakSelf.editDevice.imei = text;
}else if ([title isEqualToString:@"设备电话号码"]) {
weakSelf.editDevice.phone = text;
}else if ([title isEqualToString:@"本机电话号码"]) {
weakSelf.editDevice.my_phone = text;
}
};
}
return cell;
}
return nil;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
NSString *title = self.myDataSource[indexPath.section][indexPath.row];
if ([title isEqualToString:@"头部信息"]){
if((self.isEdit && [self.editDevice.identity isEqualToString:@"admin"])
|| self.isAdd){
//管理员 且是编辑状态 || 是添加状态
UIAlertController *sheet = [myHelper getAlertWithPicture:^(UIImagePickerController *imagePickerVC) {
imagePickerVC.delegate = self;
[self presentViewController:imagePickerVC animated:YES completion:^{}];
}];
if(sheet){
[self presentViewController:sheet animated:YES completion:nil];
}
}
}
if([title isEqualToString:self.deviceType.integerValue == 3 ? @"与我的关系" : @"关系"]){
if (!self.isEdit){
return;
}
//跳转到选择关系页面
SelectContactVC * vc = [SelectContactVC new];
vc.deviceType = self.deviceType;
vc.contact = self.editDevice.relationship;
vc.contactId = self.editDevice.relationship_image_id;
vc.phone = self.editDevice.my_phone; //本机电话号码
WEAKSELF
vc.selectContactBack = ^(NSString *contact, NSNumber *contactId, NSString *phone, NSString *name) {
weakSelf.editDevice.relationship = contact;
weakSelf.editDevice.relationship_image_id = contactId;
weakSelf.editDevice.my_phone = phone;
if(!self.isAdd){
weakSelf.editAndSaveBarButton.image = [UIImage imageNamed:@"icon_equipment_information_save"];
}
[weakSelf.myTableView reloadData];
};
[self.navigationController pushViewController:vc animated:YES];
}
}
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
// if(section == 1 )
// {
// return 20;
// }
return section == 1 ? 40 : 0.1;
// return [super tableView:tableView heightForHeaderInSection:section];
}
-(UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
if(section == 1)
{
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, SWIDTH, 40)];
view.backgroundColor = [UIColor clearColor];
UILabel *titleLabel = [UICommon ui_label:CGRectZero lines:0 align:NSTextAlignmentLeft font:Font_(12) textColor:RGB(204, 204, 204) text:@"您可修改自己的头像、名称等信息" Radius:0];
[view addSubview:titleLabel];
[titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(view).offset(15);
make.centerY.equalTo(view);
}];
// UIView *lineView = [[UIView alloc] initWithFrame:CGRectMake(0, 5, SWIDTH, 1)];
// lineView.backgroundColor = RGB(245, 245, 245);
// [view addSubview:lineView];
return view;
}
return nil;
}
-(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{
if (section == self.myDataSource.count-1) { //最后一个
if(self.isAdd){ // 是添加状态
if(!self.isShowAllInfo){ //且 未显示完整状态
// UIView *view =[[UIView alloc] initWithFrame:CGRectMake(0, 0, ScreenWidth, 50)];
// UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
// button.frame = CGRectMake(0, 0, ScreenWidth, 50);
// [button setTitle:@"完善完整资料" forState:0];
// [button setTitleColor:mainColor forState:0];
// [button.titleLabel setFont:[UIFont systemFontOfSize:13]];
// [button setImage:[UIImage imageNamed:@"icon_perfect_information"] forState:0];
// [button addTarget:self action:@selector(perfectInformationAction) forControlEvents:UIControlEventTouchUpInside];
// [view addSubview:button];
// return view;
}
}else{
// // 展示状态
// UIView *view =[[UIView alloc] initWithFrame:CGRectMake(0, 0, ScreenWidth, 84)];
// UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
// button.frame = CGRectMake(14, 20, ScreenWidth-24, 44);
// button.layer.cornerRadius = 3;
// button.layer.masksToBounds = YES;
// [button setTitle:@"解除与设备的绑定" forState:0];
// [button setBackgroundColor:mainColor];
// [button setTintColor:[UIColor whiteColor]];
// [button.titleLabel setFont:[UIFont systemFontOfSize:13]];
// [button addTarget:self action:@selector(unbundlingBtn:) forControlEvents:UIControlEventTouchUpInside];
// [view addSubview:button];
// return view;
}
}
return nil;
}
-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
if (section == self.myDataSource.count-1) { //最后一个
if(self.isAdd){ // 是添加状态
if(!self.isShowAllInfo){ //且 未显示完整状态
return 50;
}
}else{
return 0.01;
}
}
return 0.01;
}
#pragma mark UIImagePickerControllerDelegate
- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
if ([UIDevice currentDevice].systemVersion.floatValue < 11) {
return;
}
if ([viewController isKindOfClass:NSClassFromString(@"PUPhotoPickerHostViewController")]) {
[viewController.view.subviews enumerateObjectsUsingBlock:^(__kindof UIView * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
if (obj.frame.size.width < 42) {
[viewController.view sendSubviewToBack:obj];
*stop = YES;
}
}];
}
}
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[picker dismissViewControllerAnimated:YES completion:^{}];
UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];
self.editDevice.image = image;
[self.myTableView reloadData];
}
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
[picker dismissViewControllerAnimated:YES completion:nil];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
//MARK: UITextFieldDelegate 限制字数 和输入的 字符
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
// 最终的结果
NSString *str = textField.text;
NSString *resultStr = [str stringByReplacingCharactersInRange:range withString:string];
if([self.nameTextField isEqual:textField]){
if(resultStr.length > 8){
return NO;
}else{
self.editDevice.name = resultStr;
return YES;
}
}
if([@"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" containsString:string]){
if(resultStr.length > 15){
return NO;
}else{
return YES;
}
}else{
if([string isEqualToString:@""]){
return YES;
}
return NO;
}
}
- (UIView *)headerView
{
WEAKSELF
if (!_headerView)
{
_headerView = [UIView new];
_headerView.backgroundColor = KKWhiteColorColor;
_headerView.frame = CGRectMake(0, 15, ScreenWidth-30, 193);
[UICommon ui_uiViewFillet:_headerView.frame Viewdirection:PYUIdirectionTop toView:_headerView sizeMake:12];
UIButton *qrImgBtn = [UICommon ui_buttonSimple:CGRectZero font:Font_(0) normalColor:KKWhiteColorColor normalText:@"" click:^(id x) {
[weakSelf codeShowAction];
}];
[qrImgBtn setImage:[self.editDevice.identity isEqualToString:@"admin"] ? ImageName_(@"comm_dev_bg_icon_y") : ImageName_(@"comm_dev_bg_icon") forState:0];
[_headerView addSubview:qrImgBtn];
[qrImgBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(_headerView);
make.top.equalTo(_headerView).offset(20);
make.size.mas_equalTo(CGSizeMake(128, 128));
}];
UIButton *qrTitleBtn = [UICommon ui_buttonSimple:CGRectZero font:Font_(12) normalColor:KKBlack20 normalText:@" 设备二维码" click:^(id x) {
[weakSelf codeShowAction];
}];
qrTitleBtn.layer.cornerRadius = 14;
qrTitleBtn.layer.masksToBounds = YES;
qrTitleBtn.backgroundColor = RGB(248, 247, 247);
[qrTitleBtn setImage:ImageName_(@"comm_dev_qrcode_icon") forState:0];
[_headerView addSubview:qrTitleBtn];
[qrTitleBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(_headerView);
make.top.equalTo(qrImgBtn.mas_bottom).offset(16);
make.size.mas_equalTo(CGSizeMake(102, 28));
}];
}
return _headerView;
}
-(void)codeShowAction
{
[UICommon PusXibViewController:[QRcodeViewController new] :@"QRcodeViewController"];
}
@end