OrderDetailProductTableViewCell.swift 5.0 KB

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