RAOrderCell.m 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. //
  2. // RAOrderCell.m
  3. // Apex And Drivers
  4. //
  5. // Created by Jack on 2018/6/1.
  6. // Copyright © 2018年 USAI. All rights reserved.
  7. //
  8. #import "RAOrderCell.h"
  9. #import "RAHomeOrderModel.h"
  10. @interface RAOrderCell () <RAHomeOrderModelDelegate>
  11. @property (strong, nonatomic) IBOutlet UIView *contentContainer;
  12. @property (strong, nonatomic) IBOutlet UILabel *titleLabel;
  13. @property (strong, nonatomic) IBOutlet UILabel *orderNoLabel;
  14. @property (strong, nonatomic) IBOutlet UILabel *containerNoLabel;
  15. @property (strong, nonatomic) IBOutlet UILabel *dateLabel;
  16. @property (strong, nonatomic) IBOutlet UIImageView *markView;
  17. @property (strong, nonatomic) IBOutlet UIImageView *statusView;
  18. @property (strong, nonatomic) IBOutlet UILabel *orderType2Label;
  19. @property (nonatomic,strong) UIView *selectionView;
  20. @end
  21. @implementation RAOrderCell
  22. - (void)awakeFromNib {
  23. [super awakeFromNib];
  24. // Initialization code
  25. [self setOrderModel:nil];
  26. self.contentContainer.layer.cornerRadius = 5.0f;
  27. self.contentContainer.layer.masksToBounds = YES;
  28. self.contentContainer.layer.shadowColor = [UIColor lightGrayColor].CGColor;
  29. self.contentContainer.layer.borderColor = [UIColor lightGrayColor].CGColor;
  30. self.contentContainer.layer.borderWidth = 0.5f;
  31. self.selectedBackgroundView = self.selectionView;
  32. }
  33. - (void)setSelected:(BOOL)selected animated:(BOOL)animated {
  34. [super setSelected:selected animated:animated];
  35. // Configure the view for the selected state
  36. }
  37. - (void)layoutSubviews {
  38. [super layoutSubviews];
  39. self.selectionView.frame = self.contentContainer.frame;
  40. }
  41. - (void)prepareForReuse {
  42. [super prepareForReuse];
  43. [self setOrderModel:nil];
  44. }
  45. - (UIView *)selectionView {
  46. if (!_selectionView) {
  47. _selectionView = [UIView new];
  48. unsigned long color = strtoul([@"0xaad3df" UTF8String],0,16);
  49. _selectionView.backgroundColor = UIColorFromRGB(color);
  50. _selectionView.layer.cornerRadius = 5.0f;
  51. _selectionView.layer.masksToBounds = YES;
  52. _selectionView.layer.shadowColor = UIColorFromRGB(color).CGColor;
  53. _selectionView.layer.borderColor = UIColorFromRGB(color).CGColor;
  54. _selectionView.layer.borderWidth = 0.5f;
  55. }
  56. return _selectionView;
  57. }
  58. #pragma mark - Set
  59. - (void)setOrderModel:(RAHomeOrderModel *)orderModel {
  60. _orderModel.delegate = nil;
  61. _orderModel = orderModel;
  62. _orderModel.delegate = self;
  63. [self refreshUI];
  64. }
  65. - (instancetype)setTitle:(NSString *)title {
  66. self.titleLabel.text = title;
  67. return self;
  68. }
  69. - (instancetype)setOrderNo:(NSString *)orderNo {
  70. self.orderNoLabel.text = orderNo;
  71. return self;
  72. }
  73. - (instancetype)setContainerNo:(NSString *)containerNo {
  74. self.containerNoLabel.text = containerNo;
  75. return self;
  76. }
  77. - (instancetype)setDate:(NSString *)date {
  78. self.dateLabel.text = date;
  79. return self;
  80. }
  81. - (instancetype)setOrderType2:(NSString *)orderType2 {
  82. self.orderType2Label.text = orderType2;
  83. return self;
  84. }
  85. - (instancetype)setBackendFlag:(BOOL)flag {
  86. self.markView.hidden = !flag;
  87. return self;
  88. }
  89. - (instancetype)setStatusIcon:(UIImage *)icon {
  90. self.statusView.image = icon;
  91. return self;
  92. }
  93. #pragma mark - Model Delegate
  94. - (void)refreshUI {
  95. NSString *title = _orderModel.title;
  96. NSString *orderNo = _orderModel.orderNo;
  97. NSString *containerNo = _orderModel.containerNo;
  98. NSString *date = _orderModel.date;
  99. NSString *orderType2 = _orderModel.order_type2;
  100. BOOL flag = _orderModel.backendFlag;
  101. UIImage *icon = _orderModel.icon;
  102. [[[[[[[self setTitle:title] setOrderNo:orderNo] setContainerNo:containerNo] setDate:date] setBackendFlag:flag] setOrderType2:orderType2] setStatusIcon:icon];
  103. }
  104. @end