ifish/Ifish/controllers/HotBar/Views/IFishWaterChangeView.m

382 lines
13 KiB
Objective-C

//
// IFishWaterChangeView.m
// Ifish
//
// Created by 罗艺 on 2018/8/24.
// Copyright © 2018年 lianlian. All rights reserved.
//
#import "IFishWaterChangeView.h"
@interface IFishWaterChangeView()<UIPickerViewDelegate,UIPickerViewDataSource>
@property(nonatomic,strong)NSMutableArray*data1;
@property(nonatomic,strong)NSMutableArray*data2;
@property(nonatomic,strong)NSMutableArray*templetrueArr;
@property(nonatomic,strong)NSMutableArray*dayArr;
@property(nonatomic,strong)NSMutableArray*timeArr;
@property(nonatomic,copy)NSString*selectVaule1;
@property(nonatomic,copy)NSString*selectVaule2;
@property(nonatomic,copy)NSString*selectVaule3;
@property(nonatomic,copy)NSString*warnCode;
//@property (weak, nonatomic) IBOutlet UIButton *bgButton;
//@property (weak, nonatomic) IBOutlet UIPickerView *topUiPick;
//@property (weak, nonatomic) IBOutlet UIPickerView *bottomUiPicker;
//@property (weak, nonatomic) IBOutlet UIImageView *titleImageView;
//@property (weak, nonatomic) IBOutlet UILabel *titleLabel;
//@property (weak, nonatomic) IBOutlet UIButton *openBtn;//开关
//@property (weak, nonatomic) IBOutlet UIButton *sureBtn;
//@property (weak, nonatomic) IBOutlet UIImageView *sepImage;
Strong UIButton *bgButton;
Strong UIPickerView *topUiPick;
Strong UIPickerView *bottomUiPicker;
Strong UIImageView *titleImageView;
Strong UILabel *titleLabel;
Strong UIButton *openBtn;//开关
Strong UIButton *sureBtn;
Strong UIImageView *sepImage;
@end
@implementation IFishWaterChangeView
-(instancetype)init{
self = [super init];
if (self) {
[self addSubview:self.bgButton];
[self addSubview:self.topUiPick];
[self addSubview:self.bottomUiPicker];
[self addSubview:self.sepImage];
[self addSubview:self.titleImageView];
[self.titleImageView addSubview:self.titleLabel];
[self addSubview:self.openBtn];
[self addSubview:self.sureBtn];
[self loadLayout];
}
return self;
}
#pragma mark --lazyLoading
- (UIButton *)bgButton{
if (!_bgButton) {
_bgButton = InitObject(UIButton);
[_bgButton addTarget:self action:@selector(bgButtonClick:) forControlEvents:UIControlEventTouchUpInside];
[_bgButton setBackgroundColor:RGBA(0, 0, 0, 0.3)];
}
return _bgButton;
}
- (UIPickerView *)topUiPick{
if (!_topUiPick) {
_topUiPick = [[UIPickerView alloc]init];
_topUiPick.delegate = self;
_topUiPick.backgroundColor = [UIColor whiteColor];
}
return _topUiPick;
}
- (UIPickerView *)bottomUiPicker{
if (!_bottomUiPicker) {
_bottomUiPicker = InitObject(UIPickerView);
_bottomUiPicker.delegate = self;
_bottomUiPicker.backgroundColor = [UIColor whiteColor];
}
return _bottomUiPicker;
}
- (UIImageView *)sepImage{
if (!_sepImage) {
_sepImage = InitObject(UIImageView);
[_sepImage setImage:IMAGEBYENAME(@"虚线")];
}
return _sepImage;
}
- (UIButton *)openBtn{
if (!_openBtn) {
_openBtn = InitObject(UIButton);
[_openBtn setBackgroundImage:IMAGEBYENAME(@"graybtn_big") forState:UIControlStateNormal];
[_openBtn setBackgroundImage:IMAGEBYENAME(@"greenbtn_big") forState:UIControlStateSelected];
[_openBtn addTarget:self action:@selector(openBtnClick:) forControlEvents:UIControlEventTouchUpInside];
}
return _openBtn;
}
- (UIImageView *)titleImageView{
if (!_titleImageView) {
_titleImageView = InitObject(UIImageView);
[_titleImageView setImage:IMAGEBYENAME(@"change_tep_title")];
}
return _titleImageView;
}
- (UIButton *)sureBtn{
if (!_sureBtn) {
_sureBtn = InitObject(UIButton);
[_sureBtn setBackgroundImage:IMAGEBYENAME(@"change_tep_bottom") forState:UIControlStateNormal];
[_sureBtn.titleLabel setFont:[UIFont systemFontOfSize:13]];
[_sureBtn setTitleColor:XWhite forState:UIControlStateNormal];
[_sureBtn setTitle:@"确 定" forState:UIControlStateNormal];
[_sureBtn addTarget:self action:@selector(sureBtnClick:) forControlEvents:UIControlEventTouchUpInside];
}
return _sureBtn;
}
- (UILabel *)titleLabel{
if (!_titleLabel) {
_titleLabel = InitObject(UILabel);
_titleLabel.textColor = XWhite;
_titleLabel.font = [UIFont systemFontOfSize:13];
_titleLabel.text = @"设置水温";
}
return _titleLabel;
}
//masonry
-(void)loadLayout{
[self.bgButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self);
}];
[self.topUiPick mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(kSizeFrom750(690));
make.height.mas_equalTo(kSizeFrom750(280));
make.centerY.centerX.mas_equalTo(self);
}];
[self.titleImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.width.mas_equalTo(self.topUiPick);
make.bottom.mas_equalTo(self.topUiPick.mas_top);
make.height.mas_equalTo(kSizeFrom750(60));
}];
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.height.mas_equalTo(self.titleImageView);
make.left.mas_equalTo(kSizeFrom750(30));
}];
[self.openBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(kSizeFrom750(86));
make.height.mas_equalTo(kSizeFrom750(50));
make.right.mas_equalTo(self.titleImageView.mas_right).offset(-kSizeFrom750(40));
make.centerY.mas_equalTo(self.titleImageView);
}];
[self.bottomUiPicker mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.width.height.centerX.mas_equalTo(self.topUiPick);
}];
[self.sepImage mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.centerY.mas_equalTo(self.bottomUiPicker);
make.width.mas_equalTo(kSizeFrom750(24));
make.height.mas_equalTo(kSizeFrom750(264));
}];
[self.sureBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.width.height.mas_equalTo(self.titleImageView);
make.top.mas_equalTo(self.bottomUiPicker.mas_bottom);
}];
}
-(NSMutableArray *)data1{
if (!_data1) {
_data1=InitObject(NSMutableArray);
}
return _data1;
}
-(NSMutableArray *)data2{
if (!_data2) {
_data2=InitObject(NSMutableArray);
}
return _data2;
}
-(NSMutableArray *)timeArr{
if (_timeArr==nil) {
_timeArr=[NSMutableArray array];
for (int i=5; i<25; i++) {
NSString*day=[NSString stringWithFormat:@"%d:00",i];
[_timeArr addObject:day];
}
}
return _timeArr;
}
-(NSMutableArray*)dayArr{
if (_dayArr==nil) {
_dayArr=[NSMutableArray array];
for (int i=1; i<31; i++) {
NSString*day=[NSString stringWithFormat:@"%d天",i];
[_dayArr addObject:day];
}
}
return _dayArr;
}
-(NSMutableArray*)templetrueArr{
if (_templetrueArr==nil) {
_templetrueArr=[NSMutableArray array];
for (int i=20; i<41; i++) {
NSString*temp=[NSString stringWithFormat:@"%d°c",i];
[_templetrueArr addObject:temp];
}
}
return _templetrueArr;
}
-(void)setViewType:(NSInteger)viewType{
_viewType=viewType;
self.topUiPick.hidden=YES;
self.bottomUiPicker.hidden=YES;
self.sepImage.hidden = YES;
self.openBtn.hidden = YES;
[self.data1 removeAllObjects];
[self.data2 removeAllObjects];
self.titleLabel.text=@"请设置加热温度:";
if (viewType==0) {// 设置水温
self.topUiPick.hidden=NO;
[self.data1 addObjectsFromArray:self.templetrueArr];
[self.data2 addObjectsFromArray:self.templetrueArr];
[self.topUiPick reloadAllComponents];
if ( self.hotVo.heaterNum) {
self.hotVo.heaterNum=[self.hotVo.heaterNum stringByReplacingOccurrencesOfString:@"°c" withString:@""];
NSInteger heaterNum=round([self.hotVo.heaterNum integerValue]-20) ;
[self.topUiPick selectRow:heaterNum inComponent:0 animated:NO];
self.selectVaule1=self.hotVo.heaterNum;
}
}else if(viewType==1){//设置预警温度
[self.data1 addObjectsFromArray:self.templetrueArr];
[self.data2 addObjectsFromArray:self.templetrueArr];
self.bottomUiPicker.hidden=NO;
self.sepImage.hidden = NO;
self.openBtn.hidden = NO;
self.titleLabel.text=@"请设置预警温度:";
[self.bottomUiPicker reloadAllComponents];
if ([self.hotVo.wornCode isEqualToString:@"01"]) {
self.openBtn.selected=YES;
}else{
self.openBtn.selected=NO;
}
if (self.hotVo.downTeamp) {
self.hotVo.downTeamp=[self.hotVo.downTeamp stringByReplacingOccurrencesOfString:@"°c" withString:@""];
NSInteger downTeamp=round([self.hotVo.downTeamp integerValue]-20);
downTeamp=downTeamp<0?0:downTeamp;
[self.bottomUiPicker selectRow:downTeamp inComponent:0 animated:NO];
self.selectVaule2=self.hotVo.downTeamp;
}
if (self.hotVo.upTeamp) {
self.hotVo.upTeamp=[self.hotVo.upTeamp stringByReplacingOccurrencesOfString:@"°c" withString:@""];
NSInteger upTeamp=round([self.hotVo.upTeamp integerValue]-20) ;
upTeamp=upTeamp>0?upTeamp:0;
[self.bottomUiPicker selectRow:upTeamp inComponent:1 animated:NO];
self.selectVaule3=self.hotVo.upTeamp;
}
}else if (viewType==2){//流量
// self.bottomUiPicker.hidden=NO;
}else if (viewType==4){//换水周期
self.bottomUiPicker.hidden=NO;
self.openBtn.hidden = NO;
self.sepImage.hidden = NO;
[self.data1 addObjectsFromArray:self.dayArr];
[self.data2 addObjectsFromArray:self.timeArr];
[self.topUiPick reloadAllComponents];
[self.bottomUiPicker reloadAllComponents];
self.titleLabel.text=@"换水周期选择:";
self.selectVaule2=self.data1[0];
if (self.hotVo.heater.heaterCycle!=nil) {
[self.bottomUiPicker selectRow:[self.hotVo.heater.heaterCycle integerValue]-1 inComponent:0 animated:NO];
self.selectVaule2=self.hotVo.heater.heaterCycle;
}else{
self.selectVaule2=@"1";
}
self.selectVaule3=self.data2[0];
if (self.hotVo.heater.heaterReminderTime.length&&self.hotVo.heater.heaterReminderTime!=nil) {
self.openBtn.selected=YES;
[self.bottomUiPicker selectRow:[self.hotVo.heater.heaterReminderTime integerValue]-5 inComponent:1 animated:NO];
self.selectVaule3=self.hotVo.heater.heaterReminderTime;
}else{
self.openBtn.selected=NO;
self.selectVaule3=@"5";
}
}
}
//点击open按钮
- (void)openBtnClick:(UIButton *)sender {
sender.selected=!sender.selected;
if(self.viewType==1){//设置预警温度
self.hotVo.wornCode=sender.selected?@"01":@"00";
[self.myDelegate clickWormCode:self.hotVo.wornCode];
}
}
//点击背景按钮
- (void)bgButtonClick:(UIButton *)sender {
self.hidden=YES;
}
//点击确定按钮
- (void)sureBtnClick:(UIButton *)sender{
self.hidden=YES;
// if(_viewType==5){
// [self.myDelegate didSelectRow1:self.selectVaule2 andRow2:self.selectVaule3];
// }else
if (_viewType==0) {//设置加热温度
[self.myDelegate didChangeTemperature:self.selectVaule1];
}
if (_viewType==1){//设置预警温度
NSString*code=self.openBtn.selected?@"01":@"00";
[self.myDelegate didSelectTeamptrue:self.selectVaule3 andDown:self.selectVaule2 andWarnCode:code];
}else if(_viewType==4){//设置换水周期
if(self.openBtn.selected==NO){
[self.myDelegate didSelectRow1:self.selectVaule2 andRow2:@""];
}else{
[self.myDelegate didSelectRow1:self.selectVaule2 andRow2:self.selectVaule3];
}
}
}
//返回多少列
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
if (pickerView==self.topUiPick) {
return 1;
}
return 2;
}
//返回多少行
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
return self.data1.count;
}
//每一行的数据
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
if (pickerView==self.topUiPick) {
return self.data1[row];
}else{
if(component==0){
return self.data1[row];
}
return self.data2[row];
}
}
//选中时的效果
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
if (pickerView==self.topUiPick) {
self.selectVaule1=self.data1[row];
}else{
if (component==0) {
self.selectVaule2=self.data1[row];
}else{
self.selectVaule3=self.data2[row];
}
}
}
//返回高度
-(CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component{
return kSizeFrom750(50);
}
@end