OrderDetailProductTableViewCell.swift 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. //
  2. // OrderDetailProductTableViewCell.swift
  3. // RainbowPlanet
  4. //
  5. // Created by 南鑫林 on 2019/6/3.
  6. // Copyright © 2019 RainbowPlanet. All rights reserved.
  7. //
  8. import UIKit
  9. class OrderDetailProductTableViewCell: UITableViewCell {
  10. class func cellWith(tableView:UITableView,indexPath:IndexPath) -> OrderDetailProductTableViewCell {
  11. let ID = "OrderDetailProductTableViewCell"
  12. tableView.register(OrderDetailProductTableViewCell.self, forCellReuseIdentifier: ID)
  13. let cell : OrderDetailProductTableViewCell = tableView.dequeueReusableCell(withIdentifier: ID, for: indexPath) as! OrderDetailProductTableViewCell
  14. cell.indexPath = indexPath
  15. return cell
  16. }
  17. override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
  18. super.init(style: style, reuseIdentifier: reuseIdentifier)
  19. setupViews()
  20. setupLayouts()
  21. }
  22. required init?(coder aDecoder: NSCoder) {
  23. fatalError("init(coder:) has not been implemented")
  24. }
  25. var indexPath: IndexPath? {
  26. didSet {
  27. }
  28. }
  29. //MRAK: - 设置View
  30. private func setupViews() {
  31. self.selectionStyle = .none
  32. addSubview(productImageView)
  33. addSubview(titleLabel)
  34. addSubview(timeLabel)
  35. addSubview(skuLabel)
  36. addSubview(priceLabel)
  37. addSubview(numberLabel)
  38. addSubview(lineLabel)
  39. }
  40. private func setupLayouts() {
  41. productImageView.snp.makeConstraints { (make) in
  42. make.left.equalTo(14)
  43. make.centerY.equalToSuperview()
  44. make.size.equalTo(92)
  45. }
  46. titleLabel.snp.makeConstraints { (make) in
  47. make.left.equalTo(productImageView.snp.right).offset(12)
  48. make.top.equalTo(20)
  49. make.right.equalTo(priceLabel.snp.left).offset(-12)
  50. make.height.equalTo(20)
  51. }
  52. timeLabel.snp.makeConstraints { (make) in
  53. make.top.equalTo(titleLabel.snp.bottom).offset(8)
  54. make.left.equalTo(titleLabel)
  55. make.height.equalTo(17)
  56. }
  57. skuLabel.snp.makeConstraints { (make) in
  58. make.top.equalTo(timeLabel.snp.bottom).offset(8)
  59. make.left.equalTo(titleLabel)
  60. make.height.equalTo(17)
  61. }
  62. numberLabel.snp.makeConstraints { (make) in
  63. make.top.equalTo(skuLabel.snp.bottom).offset(8)
  64. make.left.equalTo(skuLabel)
  65. }
  66. priceLabel.snp.makeConstraints { (make) in
  67. make.centerY.equalTo(numberLabel)
  68. make.right.equalTo(-14)
  69. }
  70. lineLabel.snp.makeConstraints { (make) in
  71. make.bottom.equalToSuperview()
  72. make.height.equalTo(1)
  73. make.left.equalTo(14)
  74. make.right.equalTo(-14)
  75. }
  76. }
  77. private lazy var productImageView: UIImageView = {
  78. let productImageView = UIImageView()
  79. productImageView.contentMode = .scaleAspectFill
  80. productImageView.masksToBounds = true
  81. productImageView.image = kImage(name: "default_pic")
  82. return productImageView
  83. }()
  84. private lazy var titleLabel: UILabel = {
  85. let titleLabel = UILabel()
  86. titleLabel.textColor = k333333Color
  87. titleLabel.font = kBoldFont14
  88. return titleLabel
  89. }()
  90. private lazy var timeLabel: UILabel = {
  91. let timeLabel = UILabel()
  92. timeLabel.textColor = k666666Color
  93. timeLabel.font = kRegularFont12
  94. return timeLabel
  95. }()
  96. private lazy var skuLabel: UILabel = {
  97. let skuLabel = UILabel()
  98. skuLabel.textColor = k999999Color
  99. skuLabel.font = kRegularFont12
  100. return skuLabel
  101. }()
  102. private lazy var priceLabel: UILabel = {
  103. let priceLabel = UILabel()
  104. priceLabel.textColor = k333333Color
  105. priceLabel.font = kRegularFont14
  106. return priceLabel
  107. }()
  108. private lazy var numberLabel: UILabel = {
  109. let numberLabel = UILabel()
  110. numberLabel.textColor = k999999Color
  111. numberLabel.font = kRegularFont12
  112. return numberLabel
  113. }()
  114. private lazy var lineLabel: UILabel = {
  115. let lineLabel = UILabel()
  116. lineLabel.backgroundColor = kf5f5f5Color
  117. return lineLabel
  118. }()
  119. var orderModelDetailModel: OrderModelDetailModel? {
  120. didSet {
  121. productImageView.kf.setImage(with: kURLThumbnailsImage(name: orderModelDetailModel?.productImg ?? "default_pic", size: kSize92x92Image), placeholder: kImage(name: "default_pic"))
  122. titleLabel.text = orderModelDetailModel?.productName
  123. timeLabel.text = "预计配送时间:\(orderModelDetailModel?.receiveTime ?? "")"
  124. skuLabel.text = "规格:\(orderModelDetailModel?.skuName ?? "")"
  125. priceLabel.text = "\(priceConversion(price: orderModelDetailModel?.productPrice ?? 0))"
  126. numberLabel.text = "x\(orderModelDetailModel?.amount ?? 0)"
  127. }
  128. }
  129. }