// // PBChooseArtifactsCell.m // IphoneBIMe // // Created by zjf on 2020/9/24. // Copyright © 2020 ProBIM. All rights reserved. // #import "PBChooseTasksCell.h" #import "PBETaskInfoModel.h" #import "PBSchedulePlanModel.h" @interface PBChooseTasksCell() @property (nonatomic, weak) UILabel *titleL; @property (nonatomic, weak) UIImageView *imageV; @property (nonatomic, weak) UIImageView *nextLevelV; @end @implementation PBChooseTasksCell - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) { [self setupUI]; } return self; } - (void)setupUI { UIImageView *selectImageV = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@""]]; [self.contentView addSubview:selectImageV]; [selectImageV mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.contentView).offset(12); make.left.equalTo(self.contentView).offset(12); make.size.mas_equalTo(CGSizeMake(24, 24)); }]; UIImageView *imageV = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"task_list"]]; [self.contentView addSubview:imageV]; [imageV mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.contentView).offset(8); // make.bottom.equalTo(self.contentView); make.left.equalTo(selectImageV.mas_right).offset(8); make.size.mas_equalTo(CGSizeMake(30, 30)); }]; UILabel *titleL = [UILabel z_labelWithText:@"" Color:PBColor(40, 58, 79) isBold:YES Font:14]; [self.contentView addSubview:titleL]; [titleL mas_makeConstraints:^(MASConstraintMaker *make) { make.centerY.equalTo(imageV); make.left.equalTo(imageV.mas_right).offset(10); make.right.equalTo(self.contentView).offset(-60); make.height.equalTo(@20); }]; UIImageView *nextLevelV = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"course_btn_company_open"]]; [self.contentView addSubview:nextLevelV]; [nextLevelV mas_makeConstraints:^(MASConstraintMaker *make) { make.size.mas_equalTo(CGSizeMake(16, 16)); make.right.equalTo(self.contentView).offset(-30); make.centerY.equalTo(self.contentView); }]; UIButton *selectBtn = [[UIButton alloc] init]; [selectBtn addTarget:self action:@selector(selectAction) forControlEvents:UIControlEventTouchUpInside]; [self.contentView addSubview:selectBtn]; [selectBtn mas_makeConstraints:^(MASConstraintMaker *make) { make.top.bottom.left.right.equalTo(self.contentView); }]; self.titleL = titleL; self.imageV = selectImageV; self.nextLevelV = nextLevelV; } - (void)selectAction { if (self.planModel) { if (self.planModel.children.count > 0) { if (self.nextBlock) { self.nextBlock(); } }else { if (self.saveBlock) { self.saveBlock(YES); } } }else { if (self.taskInfoModel.Children.count > 0) { if (self.nextBlock) { self.nextBlock(); } }else { if (self.taskInfoModel.isSelected) { self.imageV.image = [UIImage imageNamed:@"select_circle"]; self.taskInfoModel.isSelected = NO; if (self.saveBlock) { self.saveBlock(NO); } }else { self.imageV.image = [UIImage imageNamed:@"select_circle_select"]; self.taskInfoModel.isSelected = YES; if (self.saveBlock) { self.saveBlock(YES); } } } } } - (void)setTaskInfoModel:(PBETaskInfoModel *)taskInfoModel { _taskInfoModel = taskInfoModel; self.titleL.text = taskInfoModel.NAME_; if (taskInfoModel.Children.count > 0) { self.imageV.hidden = YES; self.nextLevelV.hidden = NO; }else { self.imageV.hidden = NO; self.nextLevelV.hidden = YES; if (taskInfoModel.isSelected) { self.imageV.image = [UIImage imageNamed:@"select_circle_select"]; }else { self.imageV.image = [UIImage imageNamed:@"select_circle"]; } } } - (void)setPlanModel:(PBSchedulePlanModel *)planModel { _planModel = planModel; self.titleL.text = planModel.Name; if (planModel.children.count > 0) { self.imageV.hidden = YES; self.nextLevelV.hidden = NO; }else { self.imageV.hidden = NO; self.nextLevelV.hidden = YES; self.imageV.image = [UIImage imageNamed:@"select_circle"]; } } - (void)awakeFromNib { [super awakeFromNib]; // Initialization code } - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; // Configure the view for the selected state } @end