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.
 
 
 
 

213 lines
7.1 KiB

//
// RailListTableViewCell.m
// tongxin
//
// Created by ecell on 2023/5/16.
// Copyright © 2023 xTT. All rights reserved.
//
#import "RailListTableViewCell.h"
#import "CommonPopView.h"
@interface RailListTableViewCell ()
/**
围栏地址 名称 eg : 学校
*/
@property (weak, nonatomic) UILabel *railNameLabel;
/**
规则 rg : 8:00-12:00,工作日
*/
@property (weak, nonatomic) UILabel *ruleLabel;
/**
地址 eg: 北京市朝阳区 ....
*/
@property (weak, nonatomic) UILabel *addressLabel;
/**
范围 的距离显示 eg: 电子围栏 500米
*/
@property (weak, nonatomic) UILabel *railRangeLabel;
/**
删除按钮
*/
@property (weak, nonatomic) UIButton *delectBtn;
/**
编辑按钮
*/
@property (weak, nonatomic) UIButton *editingBtn;
@property (nonatomic ,weak) UISwitch *uiSwitch;
@end
@implementation RailListTableViewCell
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self)
{
self.selectionStyle = UITableViewCellSelectionStyleNone;
self.backgroundColor = KKWhiteColorColor;
self.layer.cornerRadius = 12;
self.layer.masksToBounds = YES;
[self subCellView];
}
return self;
}
- (void)subCellView
{
WEAKSELF
UILabel *railNameLabel = [UICommon ui_label:CGRectZero lines:0 align:NSTextAlignmentCenter font:FontBold_(12) textColor:mainColor text:@"" Radius:10];
self.railNameLabel = railNameLabel;
[self.contentView addSubview:railNameLabel];
[railNameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.contentView).offset(15);
make.top.equalTo(self.contentView.mas_top).offset(15);
make.size.mas_equalTo(CGSizeMake(28, 20));
}];
UILabel *railRangeLabel = [UICommon ui_label:CGRectZero lines:1 align:NSTextAlignmentLeft font:Font_(12) textColor:KKGrey102 text:@"" Radius:0];
self.railRangeLabel = railRangeLabel;
[self.contentView addSubview:railRangeLabel];
[railRangeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(railNameLabel.mas_right).offset(4);
make.centerY.equalTo(railNameLabel);
//make.right.equalTo(self.contentView.mas_right).inset(15);
}];
UILabel *addressLabel = [UICommon ui_label:CGRectZero lines:0 align:NSTextAlignmentLeft font:FontBold_(16) textColor:KKBlack20 text:@"" Radius:0];
self.addressLabel = addressLabel;
[self.contentView addSubview:addressLabel];
[addressLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.equalTo(self.contentView).inset(15);
make.top.equalTo(railNameLabel.mas_bottom).offset(10);
}];
UILabel *ruleLabel = [UICommon ui_label:CGRectZero lines:0 align:NSTextAlignmentLeft font:Font_(12) textColor:KKGrey163 text:@"" Radius:0];
self.ruleLabel = ruleLabel;
[self.contentView addSubview:ruleLabel];
[ruleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.equalTo(self.contentView).inset(15);
make.top.equalTo(addressLabel.mas_bottom).offset(16);
}];
UIView *line = [UIView new];
line.backgroundColor = RGB(240, 240, 240);
[self.contentView addSubview:line];
[line mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.equalTo(self.contentView).inset(15);
make.top.equalTo(ruleLabel.mas_bottom).offset(15);
make.height.mas_equalTo(0.5);
}];
UISwitch *uiSwitch = [[UISwitch alloc] init];
[uiSwitch addTarget:self
action:@selector(switchBtnAction:)
forControlEvents:UIControlEventValueChanged];
uiSwitch.onTintColor = mainColor;
self.uiSwitch = uiSwitch;
[self.contentView addSubview:uiSwitch];
[uiSwitch mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.equalTo(self.contentView.mas_right).inset(15);
make.top.equalTo(line.mas_bottom).offset(15);
make.size.mas_equalTo(CGSizeMake(48, 28));
make.bottom.equalTo(self.contentView.mas_bottom).inset(15);
}];
UIButton *editingBtn = [UICommon ui_buttonSimple:CGRectZero font:Font_(14) normalColor:KKGrey102 normalText:@" 编辑" click:^(id x) {
if (weakSelf.editingBlock) {
weakSelf.editingBlock();
}
}];
[editingBtn setImage:ImageName_(@"icon_editor_black") forState:0];
self.editingBtn = editingBtn;
[self.contentView addSubview:editingBtn];
[editingBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(railNameLabel);
make.centerY.equalTo(uiSwitch);
make.size.mas_equalTo(CGSizeMake(57, 24));
}];
UIButton *delectBtn = [UICommon ui_buttonSimple:CGRectZero font:Font_(14) normalColor:KKGrey102 normalText:@" 删除" click:^(id x) {
CommonPopView *popView = [CommonPopView new];
[popView subPopView:popViewType_ycgj PopTitle:@"提示" PopText:[NSString stringWithFormat:@"确定删除【%@】?",self.model.name] okTouchBlock:^{
//删除
[weakSelf.model deleteSuccess:^{
if (weakSelf.deleteBlock) {
weakSelf.deleteBlock();
}
} failure:^{
}];
}];
}];
[delectBtn setImage:ImageName_(@"icon_delect_black") forState:0];
self.delectBtn = delectBtn;
[self.contentView addSubview:delectBtn];
[delectBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(editingBtn.mas_right).offset(20);
make.centerY.equalTo(uiSwitch);
make.size.mas_equalTo(CGSizeMake(57, 24));
}];
}
-(void)setModel:(Rail *)model
{
_model = model;
self.railNameLabel.text = model.name;
self.railNameLabel.backgroundColor = [model.status boolValue] ? RGB(255, 243, 236) : RGB(240, 240, 240);
self.railNameLabel.textColor = [model.status boolValue] ? mainColor : KKGrey163;
CGRect ww = [UICommon GetTextWidth:model.name ViewHeight:20 fontSize:FontBold_(12) type:@"w"];
[self.railNameLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.contentView).offset(15);
make.top.equalTo(self.contentView).offset(15);
make.size.mas_equalTo(CGSizeMake(ww.size.width+15, 20));
}];
self.railRangeLabel.text = [NSString stringWithFormat:@"安全范围:%@米",model.radius];
self.addressLabel.text = model.address;
self.ruleLabel.text = [NSString stringWithFormat:@"%@-%@ %@",model.starttime,model.endedtime,[myHelper getWeekDayStr:model.week]];
self.uiSwitch.on = model.status.boolValue;
}
-(void)switchBtnAction:(UISwitch*)sender
{
self.model.status = @(sender.on);
[self.model saveSuccess:^{
self.model.status = @(sender.on);
if(self.switchBlock){
self.switchBlock();
}
} failure:^{
self.model.status = @(!sender.on);
}];
}
- (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