// // orderCenterCell.m // ThePaperHD // // Created by scar1900 on 15/4/14. // Copyright (c) 2015年 scar1900. All rights reserved. // #import "orderCenterCell.h" #import "AsyncImageView.h" @interface orderCenterCell() @property(nonatomic, strong)AsyncImageView *nodeImageView; @property(nonatomic, strong)UILabel *titleLabel; @property(nonatomic, strong)UILabel *descLabel; @property(nonatomic, strong)UIButton *orderBtn; @end @implementation orderCenterCell @synthesize nodeBO = _nodeBO; @synthesize isOrdered = _isOrdered; @synthesize delegate; - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; if (self) { self.contentView.backgroundColor = [UIColor colorWithHexString:BackGroundColor]; [self.contentView addSubview:self.nodeImageView]; [self.contentView addSubview:self.titleLabel]; [self.contentView addSubview:self.descLabel]; [self.contentView addSubview:self.orderBtn]; } return self; } - (AsyncImageView*)nodeImageView { if (!_nodeImageView) { _nodeImageView = [[AsyncImageView alloc]initWithFrame:CGRectMake(15, CGRectGetHeight(self.bounds)/2-118/4, 118/2, 118/2)]; _nodeImageView.imageView.backgroundColor = [UIColor clearColor]; _nodeImageView.backgroundColor = [UIColor clearColor]; if (ISNotRETINA) { _nodeImageView.isNeedCorner = YES; } } return _nodeImageView; } - (UILabel*)titleLabel { if (!_titleLabel) { _titleLabel = [[UILabel alloc]initWithFrame:CGRectZero]; _titleLabel.font = appFont(18, NO); _titleLabel.textColor = [UIColor colorWithHexString:TextBlack]; _titleLabel.textAlignment = NSTextAlignmentLeft; _titleLabel.backgroundColor = [UIColor clearColor]; } return _titleLabel; } - (UILabel*)descLabel { if (!_descLabel) { _descLabel = [[UILabel alloc]initWithFrame:CGRectZero]; _descLabel.font = appFont(16, NO); _descLabel.textColor = [UIColor colorWithHexString:TextGray]; _descLabel.textAlignment = NSTextAlignmentLeft; _descLabel.backgroundColor = [UIColor clearColor]; } return _descLabel; } - (UIButton*)orderBtn { if (!_orderBtn) { _orderBtn = [UIButton buttonWithType:UIButtonTypeCustom]; [_orderBtn setImage:Image(@"order/orderIcon.png") forState:UIControlStateNormal]; [_orderBtn addTarget:self action:@selector(orderHander:) forControlEvents:UIControlEventTouchUpInside]; } return _orderBtn; } - (void)setNodeBO:(nodeObjectBO *)nodeInfo { _nodeBO = nodeInfo; self.nodeImageView.imageUrl = nodeInfo.pic; self.titleLabel.text = nodeInfo.name; self.descLabel.text = nodeInfo.desc; } - (void)setIsOrdered:(BOOL)order { _isOrdered = order; self.orderBtn.selected = order; if (order) { [_orderBtn setImage:Image(@"order/orderIcon_s.png") forState:UIControlStateNormal]; }else { [_orderBtn setImage:Image(@"order/orderIcon.png") forState:UIControlStateNormal]; } } - (void)orderHander:(UIButton*)btn { NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithDictionary:@{@"n":self.nodeBO.nodeId,@"oType":@"1"}]; if (btn.selected) { [dic setValue:@"2" forKey:@"oType"]; } [Remote doJsonActionWithBlock:1 requestUrl:orderNodeURL parameter:dic withWaitCursor:YES completion:^(BOOL success, NSString *message, id responseData) { if (success) { if (!btn.selected) { btn.selected = YES; // ShowMessage(@"订阅成功", YES); [_orderBtn setImage:Image(@"order/orderIcon_s.png") forState:UIControlStateNormal]; if ([self.delegate respondsToSelector:@selector(orderNode:nodeInfoBO:)]) { [self.delegate orderNode:YES nodeInfoBO:self.nodeBO]; } }else { btn.selected = NO; // ShowMessage(@"取消订阅", YES); NSMutableArray *array = [TPUserDefault instance].orderEventTempList; if ([array containsObject:self.nodeBO.nodeId]) { [array removeObject:self.nodeBO.nodeId]; [TPUserDefault instance].orderEventTempList = array; } [_orderBtn setImage:Image(@"order/orderIcon.png") forState:UIControlStateNormal]; if ([self.delegate respondsToSelector:@selector(orderNode:nodeInfoBO:)]) { [self.delegate orderNode:NO nodeInfoBO:self.nodeBO]; } } }else { ShowTextMessage(message); } }]; } - (void)layoutSubviews { [super layoutSubviews]; self.nodeImageView.frame = CGRectMake(15, CGRectGetHeight(self.bounds)/2-118/4, 118/2, 118/2); self.titleLabel.frame = CGRectMake(CGRectGetMaxX(self.nodeImageView.frame)+15, 20, CGRectGetWidth(self.bounds)-30-118/2-50, 25); self.descLabel.frame = CGRectMake(CGRectGetMaxX(self.nodeImageView.frame)+15, CGRectGetMaxY(self.titleLabel.frame), CGRectGetWidth(self.bounds)-30-118/2-50, 25); self.orderBtn.frame = CGRectMake(CGRectGetWidth(self.bounds)-50, 0, 50, CGRectGetHeight(self.bounds)); [self.orderBtn setImageEdgeInsets:UIEdgeInsetsMake(CGRectGetHeight(self.bounds)/2-10, 15, CGRectGetHeight(self.bounds)/2-10, 15)]; } - (void)awakeFromNib { // Initialization code } - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; // Configure the view for the selected state } @end