From 50bd64b8b4f6acf7b48c1790876a4e8bf4de477f Mon Sep 17 00:00:00 2001 From: kai60 Date: Fri, 6 May 2022 19:05:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ifish.xcodeproj/project.pbxproj | 8 + .../XuTo/XuanduoSettingController.m | 4 +- .../XuTo/XuanduoTimerListViewController.h | 28 + .../XuTo/XuanduoTimerListViewController.m | 1642 +++++++++++++++++ .../XuTo/XuanduoTimerSettingViewController.h | 1 + .../XuTo/XuanduoTimerSettingViewController.m | 441 ++--- 6 files changed, 1791 insertions(+), 333 deletions(-) create mode 100644 Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTimerListViewController.h create mode 100644 Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTimerListViewController.m diff --git a/Ifish.xcodeproj/project.pbxproj b/Ifish.xcodeproj/project.pbxproj index ccc5ddb..888bfb8 100644 --- a/Ifish.xcodeproj/project.pbxproj +++ b/Ifish.xcodeproj/project.pbxproj @@ -2286,6 +2286,8 @@ C02ED597249E3B7300CAC37D /* InfoByImageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C02ED595249E3B7300CAC37D /* InfoByImageViewController.m */; }; C057166C282376CC004F113A /* UIButton+ImageTitleStyle.h in Headers */ = {isa = PBXBuildFile; fileRef = C057166A282376CC004F113A /* UIButton+ImageTitleStyle.h */; }; C057166D282376CC004F113A /* UIButton+ImageTitleStyle.m in Sources */ = {isa = PBXBuildFile; fileRef = C057166B282376CC004F113A /* UIButton+ImageTitleStyle.m */; }; + C05716702823D653004F113A /* XuanduoTimerListViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = C057166E2823D652004F113A /* XuanduoTimerListViewController.h */; }; + C05716712823D653004F113A /* XuanduoTimerListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C057166F2823D652004F113A /* XuanduoTimerListViewController.m */; }; C072196A253AE2290065CF17 /* IfishP2PPlayBackListViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = C0721969253AE2290065CF17 /* IfishP2PPlayBackListViewController.xib */; }; C072196D253B1F4F0065CF17 /* DatePickerCustomView.h in Headers */ = {isa = PBXBuildFile; fileRef = C072196B253B1F4F0065CF17 /* DatePickerCustomView.h */; }; C072196E253B1F4F0065CF17 /* DatePickerCustomView.m in Sources */ = {isa = PBXBuildFile; fileRef = C072196C253B1F4F0065CF17 /* DatePickerCustomView.m */; }; @@ -5780,6 +5782,8 @@ C02ED595249E3B7300CAC37D /* InfoByImageViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = InfoByImageViewController.m; sourceTree = ""; }; C057166A282376CC004F113A /* UIButton+ImageTitleStyle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIButton+ImageTitleStyle.h"; sourceTree = ""; }; C057166B282376CC004F113A /* UIButton+ImageTitleStyle.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIButton+ImageTitleStyle.m"; sourceTree = ""; }; + C057166E2823D652004F113A /* XuanduoTimerListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XuanduoTimerListViewController.h; sourceTree = ""; }; + C057166F2823D652004F113A /* XuanduoTimerListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XuanduoTimerListViewController.m; sourceTree = ""; }; C0721969253AE2290065CF17 /* IfishP2PPlayBackListViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = IfishP2PPlayBackListViewController.xib; sourceTree = ""; }; C072196B253B1F4F0065CF17 /* DatePickerCustomView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DatePickerCustomView.h; sourceTree = ""; }; C072196C253B1F4F0065CF17 /* DatePickerCustomView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DatePickerCustomView.m; sourceTree = ""; }; @@ -9722,6 +9726,8 @@ 883E76A81D48A5E50030E075 /* XuToSetViewController.h */, 883E76A91D48A5E50030E075 /* XuToSetViewController.m */, C0CCEF69280D08C600604601 /* XuanduoSettingController.h */, + C057166E2823D652004F113A /* XuanduoTimerListViewController.h */, + C057166F2823D652004F113A /* XuanduoTimerListViewController.m */, C08976B3282119300098B5FA /* XuanduoTimerSettingViewController.h */, C08976B4282119300098B5FA /* XuanduoTimerSettingViewController.m */, C0CCEF6A280D08C600604601 /* XuanduoSettingController.m */, @@ -13196,6 +13202,7 @@ 3D1C5095221A9EDF0096AE43 /* Alarm.h in Headers */, CB4820872334E99700A50C92 /* IQKeyboardManagerConstantsInternal.h in Headers */, C0EA8A2D23AF74F4003DC53B /* SDWebImagePrefetcher.h in Headers */, + C05716702823D653004F113A /* XuanduoTimerListViewController.h in Headers */, 3D1C5145221A9EE10096AE43 /* BootomViewSoketBackMasgConreol.h in Headers */, 3D1C5146221A9EE10096AE43 /* FishTankBootmDataHelper.h in Headers */, 2AC8750B26874F7500B6161C /* ESPGuideCode.h in Headers */, @@ -15373,6 +15380,7 @@ E58C998A2081A6930004C42B /* RuiMeiBackMsgUtils.m in Sources */, 889133391ECEB97D00F52EBC /* VideoEditeNameViewCell.m in Sources */, 883E76351D4897570030E075 /* BackmassegeModel.m in Sources */, + C05716712823D653004F113A /* XuanduoTimerListViewController.m in Sources */, 881A1D541DD41BEE00BA1AF4 /* MineKanEditSec2FirstCell.m in Sources */, 883E78321D48A5E50030E075 /* BrandDetailViewController.m in Sources */, 3D1C50DE221A9EE00096AE43 /* ShapeRenderNotifyMsg.mm in Sources */, diff --git a/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoSettingController.m b/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoSettingController.m index 17c714c..26e6591 100644 --- a/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoSettingController.m +++ b/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoSettingController.m @@ -28,7 +28,7 @@ #import "NSString+Add.h" #import "XuToControlName.h" #import "UserExtendataArchaver.h" -#import "XuanduoTimerSettingViewController.h" +#import "XuanduoTimerListViewController.h" #define kBtnTag 500 #define kSwitchBtnTag 600 @@ -523,7 +523,7 @@ static NSString *setTimerflag = @"SetTimerCell"; #pragma mark - cell的折叠 - (void)foldAction:(UIButton *)btn { - XuanduoTimerSettingViewController *_settingVC = [[XuanduoTimerSettingViewController alloc] init]; + XuanduoTimerListViewController *_settingVC = [[XuanduoTimerListViewController alloc] init]; _settingVC.currentdevice = self.currentdevice; _settingVC.dataModel = self.dataModel; [self.navigationController pushViewController:_settingVC animated:YES]; diff --git a/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTimerListViewController.h b/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTimerListViewController.h new file mode 100644 index 0000000..ba4c01c --- /dev/null +++ b/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTimerListViewController.h @@ -0,0 +1,28 @@ +// +// Xuanduo2SettingController.h +// Ifish +// +// Created by Alex on 2019/4/28. +// Copyright © 2019 lianlian. All rights reserved. +// + +#import "FatherController.h" +#import "IfishDeviceInfo.h" +#import "xuanduo3fModel.h" +#import "ReadTimerModel.h" +#import "XuanduoTimerSettingViewController.h" +NS_ASSUME_NONNULL_BEGIN + +@class Xuanduo2Model; + +@interface XuanduoTimerListViewController : FatherController + +@property (nonatomic,strong) UIActivityIndicatorView*indicatorView; +@property (nonatomic ,strong) id dataModel; +@property(nonatomic,strong) DeviceModel* currentdevice; +@property (nonatomic, strong) ReadTimerModel *readMode; +- (void)refreshWithData:(id)model; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTimerListViewController.m b/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTimerListViewController.m new file mode 100644 index 0000000..6244143 --- /dev/null +++ b/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTimerListViewController.m @@ -0,0 +1,1642 @@ +// +// Xuanduo2SettingController.m +// Ifish +// +// Created by Alex on 2019/4/28. +// Copyright © 2019 lianlian. All rights reserved. +// + +#import "XuanduoTimerListViewController.h" +#import "UINavigationBar+Background.h" +#import "TemperatureSetCell.h" +#import "ChangeWaterCell.h" +#import "Xuanduo2Model.h" +#import "TemperatureSetModel.h" +#import "setWaringTpModel.h" +#import "remindCyclePic.h" +#import "MyPickerView.h" +#import "PlusTableViewCell.h" +#import "SetTimerCell.h" +#import "XuanduoSectionHeaderView.h" +#import "XuanduoSelectHeader.h" +#import "MydatePickerView.h" +#import "SetTimerModel.h" +#import "ReadTimerModel.h" +#import "Xuanduo2DataUtility.h" +#import "Xuanduo2TimerModel.h" +#import "IfishDeviceInfo.h" +#import "NSString+Add.h" +#import "XuToControlName.h" +#import "UserExtendataArchaver.h" +#import "TimerTypeTableViewCell.h" + +#define kBtnTag 500 +#define kSwitchBtnTag 600 +static NSString *temperatureCellid = @"TemperatureSetCell"; +static NSString *changeWaterCellid = @"ChangeWaterCell"; +static NSString *addCellid = @"PlusTableViewCell"; +static NSString *plusflag = @"plusCell"; +static NSString *setTimerflag = @"SetTimerCell"; +static NSString *timerTypeFlag = @"TimerTypeTableViewCell"; + + + +@interface XuanduoTimerListViewController () +@property(nonatomic,strong) setRemindWaterModel *waterInfmodel; +@property(nonatomic,strong) Xuanduo2TimerModel *timerModel; +@property(nonatomic,strong) XuanduoCycleModel *cycleModel; + +@property (nonatomic,strong) NSMutableDictionary *timeDic; +@property(nonatomic,copy) NSString *nextChangeDateLabel; +@property(nonatomic,strong) MyHud *XuTohud; + +@end + +@implementation XuanduoTimerListViewController +{ + NSString *_wenduString; + NSIndexPath *_indexPath; + MyPickerView *_mypicView; + NSArray *_titieArr; + NSArray *_imgArr; + remindCyclePic*_remindPic; + BOOL _huanShuiSwitchIsOn; + NSInteger _selectSection; + MydatePickerView*_mydatepicView; + +} + +- (void)viewWillAppear:(BOOL)animated { + [super viewWillAppear:animated]; + if (_currentdevice) { + [IFISHHTTPTOOL getRemindWaterInfWith:_currentdevice.deviceId huishuiInfo:^(setRemindWaterModel *remindModel) { + + self.waterInfmodel=remindModel; + + NSUserDefaults*defuat=[NSUserDefaults standardUserDefaults]; + + [defuat setInteger:self.waterInfmodel.remindcycle forKey:@"xuto2picResult"]; + [defuat synchronize]; + self.nextChangeDateLabel=self.waterInfmodel.remindDate; + + [self.tableView reloadData]; + }]; + } + [Socketsingleton sharedInstance].communiteDelegate = self; + //关闭打开的section + _selectSection = -1; + [self.tableView reloadData]; + + + +} + +- (void)viewDidLoad { + [super viewDidLoad]; + [self setup]; + [self connect]; +} + +- (void)viewWillDisappear:(BOOL)animated{ + [_indicatorView stopAnimating]; +} + +- (void)setup { + [self.navigationController.navigationBar resetBackgroundImage]; + + NSString*title=@"定时设置"; + + [self addTitleViewWithTitle:title]; + [self refreshWithData:self.dataModel]; + [self setupTable]; + [self creatIndicatorView]; + [Socketsingleton sharedInstance].communiteDelegate = self; +} + +- (void)refreshWithData:(Xuanduo3fModel*)model { + + NSString*low = model.miniTemp; + NSString*heigh = model.maxTemp; + UInt64 lowten = [dataContorl hexToTen:low]; + UInt64 heighten = [dataContorl hexToTen:heigh]; + float formatlow = lowten/10; + float formatheigh = heighten/10; + _wenduString = [NSString stringWithFormat:@"%.0f~%.0f°C",formatlow,formatheigh]; +} + +- (void)setupTable { + + XuToControlName *name = [UserExtendataArchaver currentNewXuToControlName:self.currentdevice.macAddress]; + if ([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]) + { + name=[UserExtendataArchaver currentPetsXuToControlName:self.currentdevice.macAddress]; + } + // _titieArr = @[@"循环泵",@"增氧泵",@"灯光1",@"灯光2",@"造浪泵",@"杀菌灯"]; + _titieArr = @[name.xunhuanPump,name.zengyangPump,name.light1,name.light2,name.zaolangPump,name.shajunLight]; + + _imgArr = @[@"循环棒",@"增氧泵",@"灯光1",@"灯光2",@"造浪",@"杀菌"]; + + + + if ([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]) + { + _titieArr = @[name.xunhuanPump,name.zaolangPump,name.light1]; + _imgArr = @[@"照明开",@"换气开",@"杀菌开"]; + } + + + + _selectSection = -1; + for (int i = 0; i<_titieArr.count; i++) { + NSMutableArray *dataArr = [NSMutableArray arrayWithCapacity:0]; + if (![_titieArr[i] isEqualToString:@"杀菌"]) + { + [dataArr addObject:plusflag]; + } + + [self.timeDic setObject:dataArr forKey:_titieArr[i]]; + } + self.tableView.backgroundColor=COLOR_MIAN; + self.tableView.separatorStyle=UITableViewCellSeparatorStyleNone; + [self.tableView registerNib:[UINib nibWithNibName:temperatureCellid bundle:nil] forCellReuseIdentifier:temperatureCellid]; + [self.tableView registerNib:[UINib nibWithNibName:changeWaterCellid bundle:nil] forCellReuseIdentifier:changeWaterCellid]; + [self.tableView registerNib:[UINib nibWithNibName:addCellid bundle:nil] forCellReuseIdentifier:addCellid]; + //[self.tableView registerNib:[UINib nibWithNibName:timerTypeFlag bundle:nil] forCellReuseIdentifier:timerTypeFlag]; + [self.tableView registerNib:[UINib nibWithNibName:setTimerflag bundle:nil] forCellReuseIdentifier:setTimerflag]; +} + +-(void)clickCell:(TimerTypeTableViewCell *)cell button:(UIButton *)button timerType:(NSInteger *)type +{ + XuanduoTimerSettingViewController *_settingVC = [[XuanduoTimerSettingViewController alloc] init]; + _settingVC.currentdevice = self.currentdevice; + _settingVC.dataModel = self.dataModel; + _settingVC.readMode=self.readMode; + _settingVC.timerType=type; + [self.navigationController pushViewController:_settingVC animated:YES]; +} +#pragma mark - Table view data source + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + return 2 + self.timeDic.allKeys.count+([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]?1:0); +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + if (section == 0) { + return 1; + }else if (section == 1){ + return 2; + } + if (section - 2 < _titieArr.count) { + NSArray *dataArr = [self.timeDic objectForKey:_titieArr[section-2]]; + return dataArr.count; + } + else + { + if ([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]) + { + return 1; + } + } + return 0; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + if (indexPath.section == 0){ + TemperatureSetCell *cell = [tableView dequeueReusableCellWithIdentifier:temperatureCellid]; + TemperatureSetModel *model=[[TemperatureSetModel alloc]init]; + model.title = @"定时设置"; + cell.titleLabel.text = model.title; + NSLog(@"wendu str = %@",_wenduString); + model.temperatureLabel = _wenduString; + cell.temperaturelabel.text = model.temperatureLabel; + [cell.temPSwitch addTarget:self action:@selector(xuTotempSwitchAction:) forControlEvents:UIControlEventTouchUpInside]; + cell.temperaturelabel.hidden=YES; + cell.temPSwitch.hidden=YES; + cell.icon.hidden=NO; + cell.icon.image=[UIImage imageNamed:@"定时"]; + cell.titileLabelLayout.constant=40; + if (self.dataModel) { + Xuanduo2Model*model=self.dataModel; + if ([model.alarmSwitch isEqualToString:@"01"]) { + + [cell.temPSwitch setBackgroundImage:[UIImage imageNamed:@"greenbtn_big"] forState:UIControlStateNormal]; + cell.temPSwitch.selected = NO; + + }else{ + + [cell.temPSwitch setBackgroundImage:[UIImage imageNamed:@"graybtn_big"] forState:UIControlStateNormal]; + + cell.temPSwitch.selected = YES; + } + + } + + return cell; + }else if(indexPath.section == 1 && indexPath.row == 0){ + if (![self.currentdevice.waterRemind isEqual:[NSNull null]]) { + ChangeWaterCell *cell = [tableView dequeueReusableCellWithIdentifier:changeWaterCellid]; + [cell.ChangeWaterSwitch addTarget:self action:@selector(xuTochangeWaterSwitch:) forControlEvents:UIControlEventTouchUpInside]; + + if ([self.waterInfmodel.waterremind isEqualToString:@"1"]) { + [cell.ChangeWaterSwitch setBackgroundImage:[UIImage imageNamed:@"greenbtn_big"] forState:UIControlStateNormal]; + cell.ChangeWaterSwitch.selected = NO; + cell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"firstSetCell"]]; + _huanShuiSwitchIsOn=YES; + }else{ + [cell.ChangeWaterSwitch setBackgroundImage:[UIImage imageNamed:@"graybtn_big"] forState:UIControlStateNormal]; + cell.ChangeWaterSwitch.selected = YES; + _huanShuiSwitchIsOn=NO; + cell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"set_cellBack"]]; + } + + if (self.waterInfmodel.remindcycle == 0) { + //在未获取换水信息时暂时显示 + cell.huanshuiDaylabel.text=@"换水时间"; + if ([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]) + { + cell.huanshuiDaylabel.text=@"杀菌时间"; + cell.titleLabel.text=@"杀菌提醒"; + } + }else{ + + cell.huanshuiDaylabel.text=[NSString stringWithFormat:@"%ld天",(long)self.waterInfmodel.remindcycle]; + + } + + + return cell; + + } + }else if (indexPath.section==1 && indexPath.row == 1){ + + static NSString*nextHuanShuiLablecellId=@"labelcell"; + UITableViewCell*cell=[tableView dequeueReusableCellWithIdentifier:nextHuanShuiLablecellId]; + if (cell==nil) { + cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:nextHuanShuiLablecellId]; + } + if (_huanShuiSwitchIsOn) { + + cell.textLabel.text=[NSString stringWithFormat:@"下次换水时间:%@",self.waterInfmodel.remindDate]; + if (!self.waterInfmodel.remindDate) { + cell.textLabel.text=[NSString stringWithFormat:@"下次换水时间:%@",self.nextChangeDateLabel]; + } + + if ([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]) + { + cell.textLabel.text=[NSString stringWithFormat:@"下次杀菌时间:%@",self.waterInfmodel.remindDate]; + if (!self.waterInfmodel.remindDate) { + cell.textLabel.text=[NSString stringWithFormat:@"下次杀菌时间:%@",self.nextChangeDateLabel]; + } + + } + + cell.textLabel.font=[UIFont systemFontOfSize:15]; + [cell.textLabel sizeToFit]; + + cell.textLabel.textColor =[UIColor colorWithRed:146.0/256.0 green:146.0/256.0 blue:146.0/256.0 alpha:1]; + cell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"secondSetCell"]]; + + } + else{ + cell.textLabel.text=@""; + } + cell.userInteractionEnabled = NO; + return cell; + + }else if(indexPath.section -2== _titieArr.count && indexPath.row == 0&&[self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]){ + TemperatureSetCell *cell = [tableView dequeueReusableCellWithIdentifier:temperatureCellid]; + TemperatureSetModel *model=[[TemperatureSetModel alloc]init]; + model.title = @"恒温设置"; + cell.titleLabel.text = model.title; + + Xuanduo3fModel*xmodel=(Xuanduo3fModel*)_dataModel; + NSString*heating = xmodel.heatingTemperature; + UInt64 heat = [dataContorl hexToTen:heating]; + + float formatheat = heat/10; + model.temperatureLabel = [NSString stringWithFormat:@"%f",formatheat]; + cell.temPSwitch.hidden=YES; + cell.temperaturelabel.frame=cell.temPSwitch.frame; + + Xuanduo3fModel*model3=self.dataModel; + int mac=[dataContorl hexToTen:model3.heatingTemperature]; + + //float TPlabel=mac/10+(mac%10)*0.1; + float temp = mac/10.0; + NSString *stringTemp = [NSString stringWithFormat:@"%.1f℃",temp]; + cell.temperaturelabel.textAlignment=NSTextAlignmentRight; + [cell.temperaturelabel setAttributedText:[NSString ls_changeFontAndColor:[UIFont systemFontOfSize:15] Color:nil TotalString:stringTemp SubStringArray:@[@"℃"]]]; + + + + + return cell; + + } + else { + if (indexPath.section - 2 < _titieArr.count && _selectSection == indexPath.section) { + NSArray *dataArr = [self.timeDic objectForKey:_titieArr[indexPath.section-2]]; + BOOL havePlus = [dataArr containsObject:plusflag]; + if (havePlus && (indexPath.row == dataArr.count-1)) { + TimerTypeTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:timerTypeFlag]; + if (!cell) { + cell=[[TimerTypeTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:timerTypeFlag]; + } + cell.delegate=self; + return cell; + }else { + SetTimerCell *cell = [tableView dequeueReusableCellWithIdentifier:setTimerflag forIndexPath:indexPath]; + cell.switchBtn.tag = kSwitchBtnTag + indexPath.row; + [cell.switchBtn addTarget:self action:@selector(switchAction:) forControlEvents:UIControlEventTouchUpInside]; + XuanduoTimerGroup *group = [dataArr objectAtIndex:havePlus?indexPath.row+1:indexPath.row]; + cell.model=group; + if ([group isKindOfClass:[XuanduoTimerGroup class]]) + { + BOOL isOn = NO; + if ([group.status isEqualToString:@"01"]) { + isOn = YES; + } + [cell configTitleLabel:[NSString stringWithFormat:@"时段%@",group.groupNumber] timer:group.time switchStatus:isOn]; + cell.selectionStyle = UITableViewCellSelectionStyleNone; + + } + else if([group isKindOfClass:[XuanduoCycleModel class]]) + { + XuanduoCycleModel*model=group; + BOOL isOn = NO; + if ([model.status isEqualToString:@"00"]) { + isOn = YES; + } + + + + [cell configTitleLabel:@"循环开关" timer:[NSString stringWithFormat:@"持续时长%d分钟",[dataContorl hexToTen:model.lastTime]] switchStatus:isOn]; + cell.selectionStyle = UITableViewCellSelectionStyleNone; + + } + return cell; + } + } + } + return [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@""]; +} + +-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ + if (indexPath.section == 0) { + return 50; + }else if (indexPath.section == 1 && indexPath.row == 0){ + return 0; + }else if (indexPath.section == 1 && indexPath.row == 1){ + if (!_huanShuiSwitchIsOn) { + }else { + return 0; + } + }else if (indexPath.section - 2 <_titieArr.count) { + NSArray *dataArr = [self.timeDic objectForKey:_titieArr[indexPath.section-2]]; + BOOL havePlus = [dataArr containsObject:plusflag]; + if (_selectSection == indexPath.section) { + if (havePlus && indexPath.row == dataArr.count - 1) { + return 40; + }else{ + return 50; + } + }else { + return 0; + } + } + else if(indexPath.section - 2 ==_titieArr.count&&[self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]) + { + return 50; + } + + return 0; +} + +#pragma mark tableView 头视图和脚视图 +-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ + if (section == 0) { + return 5; + }else if (section == 2){ + return 40; + }else if (section == 3){ + return 40; + }else if (section == 4){ + return 40; + }else if (section == 5){ + + return [self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]?0:40; + }else if (section == 6){ + return 40; + }else if (section == 7){ + return 40; + }else { + return CGFLOAT_MIN; + } + +} + +- (UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { + if (section == 0) { + UIView *oneHeader = [[UIView alloc] init]; + oneHeader.backgroundColor = COLOR_MIAN; + return oneHeader; + }else if(section == 2){ + XuanduoSelectHeader *headerView = [XuanduoSelectHeader shareHeaderView]; + headerView.controlBtn.tag = kBtnTag + section; + if (_selectSection == section) { + headerView.controlBtn.selected = YES; + } + [headerView.controlBtn addTarget:self action:@selector(foldAction:) forControlEvents:UIControlEventTouchUpInside]; + [headerView configWithImageName:_imgArr[section-2] labelName:_titieArr[section-2]]; + return headerView; + }else if(section == 3){ + XuanduoSelectHeader *headerView = [XuanduoSelectHeader shareHeaderView]; + headerView.controlBtn.tag = kBtnTag + section; + if (_selectSection == section) { + headerView.controlBtn.selected = YES; + } + [headerView.controlBtn addTarget:self action:@selector(foldAction:) forControlEvents:UIControlEventTouchUpInside]; + [headerView configWithImageName:_imgArr[section-2] labelName:_titieArr[section-2]]; + return headerView; + }else if(section == 4){ + XuanduoSelectHeader *headerView = [XuanduoSelectHeader shareHeaderView]; + headerView.controlBtn.tag = kBtnTag + section; + if (_selectSection == section) { + headerView.controlBtn.selected = YES; + } + [headerView.controlBtn addTarget:self action:@selector(foldAction:) forControlEvents:UIControlEventTouchUpInside]; + [headerView configWithImageName:_imgArr[section-2] labelName:_titieArr[section-2]]; + return headerView; + }else if(section == 5){ + if ([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]) + { + UIView *oneHeader = [[UIView alloc] init]; + oneHeader.backgroundColor = COLOR_MIAN; + return oneHeader; + } + else + { + XuanduoSelectHeader *headerView = [XuanduoSelectHeader shareHeaderView]; + headerView.controlBtn.tag = kBtnTag + section; + if (_selectSection == section) { + headerView.controlBtn.selected = YES; + } + [headerView.controlBtn addTarget:self action:@selector(foldAction:) forControlEvents:UIControlEventTouchUpInside]; + [headerView configWithImageName:_imgArr[section-2] labelName:_titieArr[section-2]]; + return headerView; + } + + }else if(section == 6){ + XuanduoSelectHeader *headerView = [XuanduoSelectHeader shareHeaderView]; + headerView.controlBtn.tag = kBtnTag + section; + if (_selectSection == section) { + headerView.controlBtn.selected = YES; + } + [headerView.controlBtn addTarget:self action:@selector(foldAction:) forControlEvents:UIControlEventTouchUpInside]; + [headerView configWithImageName:_imgArr[section-2] labelName:_titieArr[section-2]]; + return headerView; + }else if(section == 7){ + XuanduoSelectHeader *headerView = [XuanduoSelectHeader shareHeaderView]; + headerView.controlBtn.tag = kBtnTag + section; + if (_selectSection == section) { + headerView.controlBtn.selected = YES; + } + [headerView.controlBtn addTarget:self action:@selector(foldAction:) forControlEvents:UIControlEventTouchUpInside]; + [headerView configWithImageName:_imgArr[section-2] labelName:_titieArr[section-2]]; + return headerView; + } + + return nil; +} + +#pragma mark tableView 点击事件 + +-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ + _indexPath = indexPath; + if (indexPath.section==0) { +// _mypicView=[[MyPickerView alloc]init]; +// +// _mypicView.frame=CGRectMake(0, 0, kScreenSize.width, kScreenSize.height); +// [self.view.window addSubview:_mypicView]; +// [_mypicView.sureButton addTarget:self action:@selector(mypicViewRemoveByDone) forControlEvents:UIControlEventTouchUpInside]; +// [self temperatureMainQueue]; + + }else if (indexPath.section==1){ + //换水提醒日期选择 + _remindPic=[[remindCyclePic alloc]initWithFrame:CGRectMake(0, 0, kScreenSize.width, kScreenSize.height) type:self.currentdevice.type]; + + _remindPic.frame=CGRectMake(0, 0, kScreenSize.width, kScreenSize.height); + _remindPic.type=self.currentdevice.type; + [self.view.window addSubview:_remindPic]; + [_remindPic.sureBtn addTarget:self action:@selector(xuToremindCyclePicDone) forControlEvents:UIControlEventTouchUpInside]; + [self huanShuiMainQueue]; + }else if(indexPath.section-2==_titieArr.count){ + //恒温设置 + _remindPic=[[remindCyclePic alloc]initWithFrame:CGRectMake(0, 0, kScreenSize.width, kScreenSize.height) type:@"temp"]; + _remindPic.type=@"temp"; + + _remindPic.frame=CGRectMake(0, 0, kScreenSize.width, kScreenSize.height); + [self.view.window addSubview:_remindPic]; + [_remindPic.sureBtn addTarget:self action:@selector(xuToremindCyclePicDone) forControlEvents:UIControlEventTouchUpInside]; + [self huanShuiMainQueue]; + }else { + SetTimerCell *cell = [self.tableView cellForRowAtIndexPath:_indexPath]; + if ([cell isKindOfClass:[PlusTableViewCell class]]) { + return; + } + else if([cell isKindOfClass:[SetTimerCell class]]&&[cell.model isKindOfClass:[XuanduoCycleModel class]]) + { + //恒温设置 + _cycleModel=cell.model; + _remindPic=[[remindCyclePic alloc]initWithFrame:CGRectMake(0, 0, kScreenSize.width, kScreenSize.height) type:@"cycle"]; + _remindPic.type=@"cycle"; + + _remindPic.frame=CGRectMake(0, 0, kScreenSize.width, kScreenSize.height); + [self.view.window addSubview:_remindPic]; + [_remindPic.sureBtn addTarget:self action:@selector(xuToremindCyclePicDone) forControlEvents:UIControlEventTouchUpInside]; + [self huanShuiMainQueue]; + } + else + { + [self addTimer:nil]; + + } + } +} + +-(void)temperatureMainQueue{ + NSArray*lowArr=[_mypicView.picArr objectAtIndex:0]; + NSArray*heighArr=[_mypicView.picArr objectAtIndex:2]; + for (NSInteger i=0; i=0 && [readTimer isEqualToString:@"0116"]) { + if (!_timerModel) { + _timerModel = [[Xuanduo2TimerModel alloc] init]; + _timerModel.groupModelArr = [NSMutableArray array]; + }else { + [_timerModel.groupModelArr removeAllObjects]; + } + [Xuanduo2DataUtility readTimerSocketDataWithBackMsgModel:_timerModel addWithBackStr:string1 type:self.currentdevice.type]; + NSMutableArray *dataArr = [self.timeDic objectForKey:_titieArr[_selectSection-2]]; + [dataArr removeAllObjects]; + [dataArr addObject:plusflag]; + [dataArr addObjectsFromArray:_timerModel.groupModelArr]; + BOOL havePlus = [dataArr containsObject:plusflag]; + if (havePlus && dataArr.count > 10) { + [dataArr removeObjectAtIndex:0]; + }else if (!havePlus && dataArr.count < 10){ + [dataArr insertObject:plusflag atIndex:0]; + } + NSLog(@"dataarr.count = %ld",dataArr.count); + + + } + else if (_selectSection-2<_titieArr.count && _selectSection-2>=0 && [readTimer isEqualToString:@"0119"]) { + + _cycleModel=[[XuanduoCycleModel alloc]init]; + [Xuanduo2DataUtility readCycleSocketDataWithBackMsgModel:_cycleModel addWithBackStr:string1 type:self.currentdevice.type]; + NSMutableArray *dataArr = [self.timeDic objectForKey:_titieArr[_selectSection-2]]; + [dataArr removeAllObjects]; + + [dataArr addObject:_cycleModel]; + + + + } + if ([readTimer isEqualToString:@"0108"] || [readTimer isEqualToString:@"0105"]) { + [Xuanduo2DataUtility readSocketDataWithBackMsgModel:self.dataModel addWithBackData:data type:self.currentdevice.type]; + [self refreshWithData:self.dataModel]; + + } + [self.XuTohud hidmyHud]; + [self.indicatorView stopAnimating]; + [self.tableView reloadData]; +} + +-(void)ifishDeviceLogInFail{ + +} + +-(void)ifishDeviceLogInSuccees{ + +} + +-(void)ifishSocket:(AsyncSocket *)sock didAcceptNewSocket:(AsyncSocket *)newSocket{ + +} + + + +@end diff --git a/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTimerSettingViewController.h b/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTimerSettingViewController.h index 73db194..3dcf3aa 100644 --- a/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTimerSettingViewController.h +++ b/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTimerSettingViewController.h @@ -21,6 +21,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic ,strong) id dataModel; @property(nonatomic,strong) DeviceModel* currentdevice; @property (nonatomic, strong) ReadTimerModel *readMode; +@property (nonatomic, assign) NSInteger timerType; //1,定时 2,循环 3,自恢复 - (void)refreshWithData:(id)model; @end diff --git a/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTimerSettingViewController.m b/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTimerSettingViewController.m index 5d9ca29..2962243 100644 --- a/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTimerSettingViewController.m +++ b/Ifish/controllers/FishTinkController/maincontroller/CenterontrolControllers/XuTo/XuanduoTimerSettingViewController.m @@ -97,7 +97,7 @@ static NSString *timerTypeFlag = @"TimerTypeTableViewCell"; - (void)setup { [self.navigationController.navigationBar resetBackgroundImage]; - NSString*title=@"定时设置"; + NSString*title=self.readMode.selectorName; [self addTitleViewWithTitle:title]; [self refreshWithData:self.dataModel]; @@ -119,36 +119,37 @@ static NSString *timerTypeFlag = @"TimerTypeTableViewCell"; - (void)setupTable { - XuToControlName *name = [UserExtendataArchaver currentNewXuToControlName:self.currentdevice.macAddress]; - if ([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]) - { - name=[UserExtendataArchaver currentPetsXuToControlName:self.currentdevice.macAddress]; - } - // _titieArr = @[@"循环泵",@"增氧泵",@"灯光1",@"灯光2",@"造浪泵",@"杀菌灯"]; - _titieArr = @[name.xunhuanPump,name.zengyangPump,name.light1,name.light2,name.zaolangPump,name.shajunLight]; - - _imgArr = @[@"循环棒",@"增氧泵",@"灯光1",@"灯光2",@"造浪",@"杀菌"]; + NSString*type=@""; - - if ([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]) + if (self.timerType==1) { - _titieArr = @[name.xunhuanPump,name.zaolangPump,name.light1]; - _imgArr = @[@"照明开",@"换气开",@"杀菌开"]; + type=@"定时模式"; } - + else if(self.timerType==2) + { + type=@"循环模式"; + } + else if(self.timerType==3) + { + type=@"自恢复模式"; + } + _titieArr = @[type]; + - _selectSection = -1; - for (int i = 0; i<_titieArr.count; i++) { - NSMutableArray *dataArr = [NSMutableArray arrayWithCapacity:0]; - if (![_titieArr[i] isEqualToString:@"杀菌"]) - { - [dataArr addObject:plusflag]; + _selectSection = 0; + if (self.timerType==1||self.timerType==3) + { + for (int i = 0; i<_titieArr.count; i++) { + NSMutableArray *dataArr = [NSMutableArray arrayWithCapacity:0]; + + [dataArr addObject:plusflag]; + + [self.timeDic setObject:dataArr forKey:_titieArr[i]]; } - - [self.timeDic setObject:dataArr forKey:_titieArr[i]]; } + self.tableView.backgroundColor=COLOR_MIAN; self.tableView.separatorStyle=UITableViewCellSeparatorStyleNone; [self.tableView registerNib:[UINib nibWithNibName:temperatureCellid bundle:nil] forCellReuseIdentifier:temperatureCellid]; @@ -165,173 +166,45 @@ static NSString *timerTypeFlag = @"TimerTypeTableViewCell"; #pragma mark - Table view data source - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return 2 + self.timeDic.allKeys.count+([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]?1:0); + return (self.timerType==3)?2:1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - if (section == 0) { - return 1; - }else if (section == 1){ - return 2; - } - if (section - 2 < _titieArr.count) { - NSArray *dataArr = [self.timeDic objectForKey:_titieArr[section-2]]; + if (self.timerType==1) + { + NSArray *dataArr = [self.timeDic objectForKey:_titieArr[0]]; return dataArr.count; } - else + else if(self.timerType==2) { - if ([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]) + return 1; + } + else if(self.timerType==3) + { + if (section==0) { - return 1; + NSArray *dataArr = [self.timeDic objectForKey:_titieArr[0]]; + return dataArr.count; + } + else{ + return 0; } } + return 0; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - if (indexPath.section == 0){ - TemperatureSetCell *cell = [tableView dequeueReusableCellWithIdentifier:temperatureCellid]; - TemperatureSetModel *model=[[TemperatureSetModel alloc]init]; - model.title = @"定时设置"; - cell.titleLabel.text = model.title; - NSLog(@"wendu str = %@",_wenduString); - model.temperatureLabel = _wenduString; - cell.temperaturelabel.text = model.temperatureLabel; - [cell.temPSwitch addTarget:self action:@selector(xuTotempSwitchAction:) forControlEvents:UIControlEventTouchUpInside]; - cell.temperaturelabel.hidden=YES; - cell.temPSwitch.hidden=YES; - cell.icon.hidden=NO; - cell.icon.image=[UIImage imageNamed:@"定时"]; - cell.titileLabelLayout.constant=40; - if (self.dataModel) { - Xuanduo2Model*model=self.dataModel; - if ([model.alarmSwitch isEqualToString:@"01"]) { - - [cell.temPSwitch setBackgroundImage:[UIImage imageNamed:@"greenbtn_big"] forState:UIControlStateNormal]; - cell.temPSwitch.selected = NO; - - }else{ - - [cell.temPSwitch setBackgroundImage:[UIImage imageNamed:@"graybtn_big"] forState:UIControlStateNormal]; - - cell.temPSwitch.selected = YES; - } - - } - - return cell; - }else if(indexPath.section == 1 && indexPath.row == 0){ - if (![self.currentdevice.waterRemind isEqual:[NSNull null]]) { - ChangeWaterCell *cell = [tableView dequeueReusableCellWithIdentifier:changeWaterCellid]; - [cell.ChangeWaterSwitch addTarget:self action:@selector(xuTochangeWaterSwitch:) forControlEvents:UIControlEventTouchUpInside]; - - if ([self.waterInfmodel.waterremind isEqualToString:@"1"]) { - [cell.ChangeWaterSwitch setBackgroundImage:[UIImage imageNamed:@"greenbtn_big"] forState:UIControlStateNormal]; - cell.ChangeWaterSwitch.selected = NO; - cell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"firstSetCell"]]; - _huanShuiSwitchIsOn=YES; - }else{ - [cell.ChangeWaterSwitch setBackgroundImage:[UIImage imageNamed:@"graybtn_big"] forState:UIControlStateNormal]; - cell.ChangeWaterSwitch.selected = YES; - _huanShuiSwitchIsOn=NO; - cell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"set_cellBack"]]; - } - - if (self.waterInfmodel.remindcycle == 0) { - //在未获取换水信息时暂时显示 - cell.huanshuiDaylabel.text=@"换水时间"; - if ([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]) - { - cell.huanshuiDaylabel.text=@"杀菌时间"; - cell.titleLabel.text=@"杀菌提醒"; - } - }else{ - - cell.huanshuiDaylabel.text=[NSString stringWithFormat:@"%ld天",(long)self.waterInfmodel.remindcycle]; - - } - - - return cell; - - } - }else if (indexPath.section==1 && indexPath.row == 1){ - - static NSString*nextHuanShuiLablecellId=@"labelcell"; - UITableViewCell*cell=[tableView dequeueReusableCellWithIdentifier:nextHuanShuiLablecellId]; - if (cell==nil) { - cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:nextHuanShuiLablecellId]; - } - if (_huanShuiSwitchIsOn) { - - cell.textLabel.text=[NSString stringWithFormat:@"下次换水时间:%@",self.waterInfmodel.remindDate]; - if (!self.waterInfmodel.remindDate) { - cell.textLabel.text=[NSString stringWithFormat:@"下次换水时间:%@",self.nextChangeDateLabel]; - } - - if ([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]) - { - cell.textLabel.text=[NSString stringWithFormat:@"下次杀菌时间:%@",self.waterInfmodel.remindDate]; - if (!self.waterInfmodel.remindDate) { - cell.textLabel.text=[NSString stringWithFormat:@"下次杀菌时间:%@",self.nextChangeDateLabel]; - } - - } - - cell.textLabel.font=[UIFont systemFontOfSize:15]; - [cell.textLabel sizeToFit]; - - cell.textLabel.textColor =[UIColor colorWithRed:146.0/256.0 green:146.0/256.0 blue:146.0/256.0 alpha:1]; - cell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"secondSetCell"]]; - - } - else{ - cell.textLabel.text=@""; - } - cell.userInteractionEnabled = NO; - return cell; - - }else if(indexPath.section -2== _titieArr.count && indexPath.row == 0&&[self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]){ - TemperatureSetCell *cell = [tableView dequeueReusableCellWithIdentifier:temperatureCellid]; - TemperatureSetModel *model=[[TemperatureSetModel alloc]init]; - model.title = @"恒温设置"; - cell.titleLabel.text = model.title; - - Xuanduo3fModel*xmodel=(Xuanduo3fModel*)_dataModel; - NSString*heating = xmodel.heatingTemperature; - UInt64 heat = [dataContorl hexToTen:heating]; - - float formatheat = heat/10; - model.temperatureLabel = [NSString stringWithFormat:@"%f",formatheat]; - cell.temPSwitch.hidden=YES; - cell.temperaturelabel.frame=cell.temPSwitch.frame; - - Xuanduo3fModel*model3=self.dataModel; - int mac=[dataContorl hexToTen:model3.heatingTemperature]; - - //float TPlabel=mac/10+(mac%10)*0.1; - float temp = mac/10.0; - NSString *stringTemp = [NSString stringWithFormat:@"%.1f℃",temp]; - cell.temperaturelabel.textAlignment=NSTextAlignmentRight; - [cell.temperaturelabel setAttributedText:[NSString ls_changeFontAndColor:[UIFont systemFontOfSize:15] Color:nil TotalString:stringTemp SubStringArray:@[@"℃"]]]; - - - - - return cell; - - } - else { - if (indexPath.section - 2 < _titieArr.count && _selectSection == indexPath.section) { - NSArray *dataArr = [self.timeDic objectForKey:_titieArr[indexPath.section-2]]; + + if (self.timerType==1) { + NSArray *dataArr = [self.timeDic objectForKey:_titieArr[indexPath.section]]; BOOL havePlus = [dataArr containsObject:plusflag]; if (havePlus && (indexPath.row == dataArr.count-1)) { - TimerTypeTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:timerTypeFlag]; - if (!cell) { - cell=[[TimerTypeTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:timerTypeFlag]; - } - + PlusTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:addCellid forIndexPath:indexPath]; + cell.addTimerBtn.tag = kBtnTag + indexPath.section; + [cell.addTimerBtn addTarget:self action:@selector(addTimer:) forControlEvents:UIControlEventTouchUpInside]; return cell; + }else { SetTimerCell *cell = [tableView dequeueReusableCellWithIdentifier:setTimerflag forIndexPath:indexPath]; cell.switchBtn.tag = kSwitchBtnTag + indexPath.row; @@ -365,133 +238,57 @@ static NSString *timerTypeFlag = @"TimerTypeTableViewCell"; return cell; } } - } + return [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@""]; } -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ - if (indexPath.section == 0) { - return 50; - }else if (indexPath.section == 1 && indexPath.row == 0){ - return 0; - }else if (indexPath.section == 1 && indexPath.row == 1){ - if (!_huanShuiSwitchIsOn) { - }else { - return 0; - } - }else if (indexPath.section - 2 <_titieArr.count) { - NSArray *dataArr = [self.timeDic objectForKey:_titieArr[indexPath.section-2]]; - BOOL havePlus = [dataArr containsObject:plusflag]; - if (_selectSection == indexPath.section) { - if (havePlus && indexPath.row == dataArr.count - 1) { - return 40; - }else{ - return 50; - } - }else { - return 0; - } - } - else if(indexPath.section - 2 ==_titieArr.count&&[self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]) + + CGFloat height=40; + if (self.timerType==1||self.timerType==3) { - return 50; + NSArray *dataArr = [self.timeDic objectForKey:_titieArr[indexPath.section]]; + BOOL havePlus = [dataArr containsObject:plusflag]; + if (havePlus && (indexPath.row == dataArr.count-1)) + { + height=80; + } } - - return 0; + + return height; } #pragma mark tableView 头视图和脚视图 --(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ - if (section == 0) { - return 5; - }else if (section == 2){ - return 40; - }else if (section == 3){ - return 40; - }else if (section == 4){ - return 40; - }else if (section == 5){ - - return [self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]?0:40; - }else if (section == 6){ - return 40; - }else if (section == 7){ - return 40; - }else { - return CGFLOAT_MIN; - } - +-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section +{ + CGFloat height=0; + height=section==0?50:40; + return height; } - (UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { if (section == 0) { - UIView *oneHeader = [[UIView alloc] init]; - oneHeader.backgroundColor = COLOR_MIAN; - return oneHeader; - }else if(section == 2){ - XuanduoSelectHeader *headerView = [XuanduoSelectHeader shareHeaderView]; - headerView.controlBtn.tag = kBtnTag + section; - if (_selectSection == section) { - headerView.controlBtn.selected = YES; - } - [headerView.controlBtn addTarget:self action:@selector(foldAction:) forControlEvents:UIControlEventTouchUpInside]; - [headerView configWithImageName:_imgArr[section-2] labelName:_titieArr[section-2]]; - return headerView; - }else if(section == 3){ - XuanduoSelectHeader *headerView = [XuanduoSelectHeader shareHeaderView]; - headerView.controlBtn.tag = kBtnTag + section; - if (_selectSection == section) { - headerView.controlBtn.selected = YES; - } - [headerView.controlBtn addTarget:self action:@selector(foldAction:) forControlEvents:UIControlEventTouchUpInside]; - [headerView configWithImageName:_imgArr[section-2] labelName:_titieArr[section-2]]; - return headerView; - }else if(section == 4){ - XuanduoSelectHeader *headerView = [XuanduoSelectHeader shareHeaderView]; - headerView.controlBtn.tag = kBtnTag + section; - if (_selectSection == section) { - headerView.controlBtn.selected = YES; - } - [headerView.controlBtn addTarget:self action:@selector(foldAction:) forControlEvents:UIControlEventTouchUpInside]; - [headerView configWithImageName:_imgArr[section-2] labelName:_titieArr[section-2]]; - return headerView; - }else if(section == 5){ - if ([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]) - { - UIView *oneHeader = [[UIView alloc] init]; - oneHeader.backgroundColor = COLOR_MIAN; - return oneHeader; - } - else - { - XuanduoSelectHeader *headerView = [XuanduoSelectHeader shareHeaderView]; - headerView.controlBtn.tag = kBtnTag + section; - if (_selectSection == section) { - headerView.controlBtn.selected = YES; - } - [headerView.controlBtn addTarget:self action:@selector(foldAction:) forControlEvents:UIControlEventTouchUpInside]; - [headerView configWithImageName:_imgArr[section-2] labelName:_titieArr[section-2]]; - return headerView; - } + CGFloat height=0; + height=section==0?50:40; + UIImageView*imageView=[[UIImageView alloc]init]; + imageView.frame=CGRectMake(0, 0, self.tableView.frame.size.width, height); + imageView.image=[UIImage imageNamed:@"ifishSetCell_back"]; + UILabel*label=[[UILabel alloc]initWithFrame:CGRectMake(15, 0, self.tableView.frame.size.width-20, height)]; + label.text=_titieArr[section]; + label.textColor=[UIColor blackColor]; + [imageView addSubview:label]; - }else if(section == 6){ - XuanduoSelectHeader *headerView = [XuanduoSelectHeader shareHeaderView]; - headerView.controlBtn.tag = kBtnTag + section; - if (_selectSection == section) { - headerView.controlBtn.selected = YES; - } - [headerView.controlBtn addTarget:self action:@selector(foldAction:) forControlEvents:UIControlEventTouchUpInside]; - [headerView configWithImageName:_imgArr[section-2] labelName:_titieArr[section-2]]; - return headerView; - }else if(section == 7){ - XuanduoSelectHeader *headerView = [XuanduoSelectHeader shareHeaderView]; - headerView.controlBtn.tag = kBtnTag + section; - if (_selectSection == section) { - headerView.controlBtn.selected = YES; - } - [headerView.controlBtn addTarget:self action:@selector(foldAction:) forControlEvents:UIControlEventTouchUpInside]; - [headerView configWithImageName:_imgArr[section-2] labelName:_titieArr[section-2]]; - return headerView; + return imageView; + }else if(section == 1) + { + CGFloat height=0; + height=section==0?50:40; + UIImageView*imageView=[[UIImageView alloc]init]; + imageView.frame=CGRectMake(0, 0, self.tableView.frame.size.width, height); + imageView.image=[UIImage imageNamed:@"ifishSetCell_back"]; + + + return imageView; } return nil; @@ -499,35 +296,10 @@ static NSString *timerTypeFlag = @"TimerTypeTableViewCell"; #pragma mark tableView 点击事件 --(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ +-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath +{ _indexPath = indexPath; - if (indexPath.section==0) { -// _mypicView=[[MyPickerView alloc]init]; -// -// _mypicView.frame=CGRectMake(0, 0, kScreenSize.width, kScreenSize.height); -// [self.view.window addSubview:_mypicView]; -// [_mypicView.sureButton addTarget:self action:@selector(mypicViewRemoveByDone) forControlEvents:UIControlEventTouchUpInside]; -// [self temperatureMainQueue]; - - }else if (indexPath.section==1){ - //换水提醒日期选择 - _remindPic=[[remindCyclePic alloc]initWithFrame:CGRectMake(0, 0, kScreenSize.width, kScreenSize.height) type:self.currentdevice.type]; - - _remindPic.frame=CGRectMake(0, 0, kScreenSize.width, kScreenSize.height); - _remindPic.type=self.currentdevice.type; - [self.view.window addSubview:_remindPic]; - [_remindPic.sureBtn addTarget:self action:@selector(xuToremindCyclePicDone) forControlEvents:UIControlEventTouchUpInside]; - [self huanShuiMainQueue]; - }else if(indexPath.section-2==_titieArr.count){ - //恒温设置 - _remindPic=[[remindCyclePic alloc]initWithFrame:CGRectMake(0, 0, kScreenSize.width, kScreenSize.height) type:@"temp"]; - _remindPic.type=@"temp"; - - _remindPic.frame=CGRectMake(0, 0, kScreenSize.width, kScreenSize.height); - [self.view.window addSubview:_remindPic]; - [_remindPic.sureBtn addTarget:self action:@selector(xuToremindCyclePicDone) forControlEvents:UIControlEventTouchUpInside]; - [self huanShuiMainQueue]; - }else { + { SetTimerCell *cell = [self.tableView cellForRowAtIndexPath:_indexPath]; if ([cell isKindOfClass:[PlusTableViewCell class]]) { return; @@ -596,8 +368,8 @@ static NSString *timerTypeFlag = @"TimerTypeTableViewCell"; _selectSection = btn.tag - kBtnTag; ReadTimerModel *readModel = [[ReadTimerModel alloc] init]; //杀菌不定时 - readModel.selectorName=_titieArr[_selectSection - 2]; - if([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]&&(_selectSection - 2)==2) + readModel.selectorName=_titieArr[_selectSection ]; + if([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]) { readModel.functionCode=@"19";//读取 } @@ -608,7 +380,7 @@ static NSString *timerTypeFlag = @"TimerTypeTableViewCell"; readModel.sendmacId =self.currentdevice.macAddress; readModel.resavemacId = self.currentdevice.macAddress; readModel.crc16str=@"0000"; - switch (_selectSection - 2) { + switch (_selectSection ) { case 0: //循环泵 或 照明 readModel.selectorNumber = @"04"; if([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]) @@ -653,7 +425,7 @@ static NSString *timerTypeFlag = @"TimerTypeTableViewCell"; - (void)switchAction:(UIButton *)btn { NSInteger index = btn.tag - kSwitchBtnTag; - NSArray *dataArr = [self.timeDic objectForKey:_titieArr[_selectSection-2]]; + NSArray *dataArr = [self.timeDic objectForKey:_titieArr[_selectSection]]; BOOL havePlus = [dataArr containsObject:plusflag]; SetTimerModel *timerModel = [[SetTimerModel alloc] init]; timerModel.sendmacId =self.currentdevice.macAddress; @@ -675,7 +447,7 @@ static NSString *timerTypeFlag = @"TimerTypeTableViewCell"; readModel.sendmacId =self.currentdevice.macAddress; readModel.resavemacId = self.currentdevice.macAddress; readModel.crc16str=@"0000"; - switch (_selectSection - 2) { + switch (_selectSection ) { case 0: //循环泵 { timerModel.selectorNumber = @"04"; @@ -792,7 +564,7 @@ static NSString *timerTypeFlag = @"TimerTypeTableViewCell"; } - (void)resetPickerView { - NSMutableArray *dataArr = [self.timeDic objectForKey:_titieArr[_selectSection-2]]; + NSMutableArray *dataArr = [self.timeDic objectForKey:_titieArr[_selectSection]]; BOOL havePlus = [dataArr containsObject:plusflag]; XuanduoTimerGroup *model = nil; if (havePlus) { @@ -871,7 +643,7 @@ static NSString *timerTypeFlag = @"TimerTypeTableViewCell"; readModel.sendmacId =self.currentdevice.macAddress; readModel.resavemacId = self.currentdevice.macAddress; readModel.crc16str=@"0000"; - NSInteger index = _selectSection - 2; + NSInteger index = _selectSection ; if (index < _titieArr.count) { NSMutableArray *dataArr = [self.timeDic objectForKey:_titieArr[index]]; NSInteger groupNumber = 1; @@ -986,10 +758,10 @@ static NSString *timerTypeFlag = @"TimerTypeTableViewCell"; readModel.sendmacId =self.currentdevice.macAddress; readModel.resavemacId = self.currentdevice.macAddress; readModel.crc16str=@"0000"; - NSInteger index = _selectSection - 2; + NSInteger index = _selectSection ; NSLog(@"index = %d",index); if (index < _titieArr.count) { - NSArray *dataArr = [self.timeDic objectForKey:_titieArr[_selectSection-2]]; + NSArray *dataArr = [self.timeDic objectForKey:_titieArr[_selectSection]]; BOOL havePlus = [dataArr containsObject:plusflag]; XuanduoTimerGroup *group = [dataArr objectAtIndex:(havePlus?_indexPath.row+1:_indexPath.row)]; timerModel.groupNumber = [dataContorl groupNumberTohex:group.groupNumber.integerValue]; @@ -1065,7 +837,7 @@ static NSString *timerTypeFlag = @"TimerTypeTableViewCell"; NSString *endHourStr = [NSString stringWithFormat:@"%ld",endHour + 24]; addEndtime = [NSString stringWithFormat:@"%@:%@",endHourStr,[addEndtime substringFromIndex:3]]; } - NSArray *dataArr = [self.timeDic objectForKey:_titieArr[_selectSection-2]]; + NSArray *dataArr = [self.timeDic objectForKey:_titieArr[_selectSection]]; [dataArr enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { if ([obj isKindOfClass:[XuanduoTimerGroup class]]) { XuanduoTimerGroup *group = obj; @@ -1186,7 +958,7 @@ static NSString *timerTypeFlag = @"TimerTypeTableViewCell"; #pragma mark 默认换水时间 -(void)huanShuiMainQueue{ - if (_indexPath.section-2==_titieArr.count) + if (_indexPath.section==_titieArr.count) { Xuanduo3fModel*model3=self.dataModel; int mac=[dataContorl hexToTen:model3.heatingTemperature]; @@ -1288,7 +1060,7 @@ static NSString *timerTypeFlag = @"TimerTypeTableViewCell"; [_remindPic removeFromSuperview]; } - else if (_indexPath.section-2==_titieArr.count) + else if (_indexPath.section==_titieArr.count) { TemperatureSetCell*cell=[self.tableView cellForRowAtIndexPath:_indexPath]; NSString *str=_remindPic.picViewResultString; @@ -1569,7 +1341,7 @@ static NSString *timerTypeFlag = @"TimerTypeTableViewCell"; NSString*string1=[dataContorl dataToHexString:data]; NSLog(@"return str == %@",string1); NSString *readTimer = [string1 substringToIndex:4]; - if (_selectSection-2<_titieArr.count && _selectSection-2>=0 && [readTimer isEqualToString:@"0116"]) { + if ([readTimer isEqualToString:@"0116"]) { if (!_timerModel) { _timerModel = [[Xuanduo2TimerModel alloc] init]; _timerModel.groupModelArr = [NSMutableArray array]; @@ -1577,7 +1349,7 @@ static NSString *timerTypeFlag = @"TimerTypeTableViewCell"; [_timerModel.groupModelArr removeAllObjects]; } [Xuanduo2DataUtility readTimerSocketDataWithBackMsgModel:_timerModel addWithBackStr:string1 type:self.currentdevice.type]; - NSMutableArray *dataArr = [self.timeDic objectForKey:_titieArr[_selectSection-2]]; + NSMutableArray *dataArr = [self.timeDic objectForKey:_titieArr[_selectSection]]; [dataArr removeAllObjects]; [dataArr addObject:plusflag]; [dataArr addObjectsFromArray:_timerModel.groupModelArr]; @@ -1591,11 +1363,11 @@ static NSString *timerTypeFlag = @"TimerTypeTableViewCell"; } - else if (_selectSection-2<_titieArr.count && _selectSection-2>=0 && [readTimer isEqualToString:@"0119"]) { + else if (_selectSection<_titieArr.count && _selectSection>=0 && [readTimer isEqualToString:@"0119"]) { _cycleModel=[[XuanduoCycleModel alloc]init]; [Xuanduo2DataUtility readCycleSocketDataWithBackMsgModel:_cycleModel addWithBackStr:string1 type:self.currentdevice.type]; - NSMutableArray *dataArr = [self.timeDic objectForKey:_titieArr[_selectSection-2]]; + NSMutableArray *dataArr = [self.timeDic objectForKey:_titieArr[_selectSection]]; [dataArr removeAllObjects]; [dataArr addObject:_cycleModel]; @@ -1618,6 +1390,13 @@ static NSString *timerTypeFlag = @"TimerTypeTableViewCell"; } -(void)ifishDeviceLogInSuccees{ + ReadTimerModel*readModel=self.readMode; + if (readModel) { + NSString*readString=[NSString stringWithFormat:@"%@%@%@",readModel.description,readModel.selectorNumber,readModel.crc16str]; + NSData*readData=[dataContorl stringToHexData:readString]; + [[Socketsingleton sharedInstance] soketWriteData:readData]; + [_indicatorView startAnimating]; + } }