GoodsReviewsCell.m 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. //
  2. // GoodsReviewsCell.m
  3. // westkissMob
  4. //
  5. // Created by 王猛 on 2022/9/28.
  6. //
  7. #import "GoodsReviewsCell.h"
  8. #import "GoodsReviewsImgV.h"
  9. #import "ASGoodsDetailsVM.h"
  10. @interface GoodsReviewsCell ()
  11. @property (nonatomic, strong) UIImageView *headImg;
  12. @property (nonatomic, strong) UILabel *nicknameLab;
  13. @property (nonatomic, strong) UILabel *creatLab;
  14. @property (nonatomic, strong) UIButton *zanBtn;
  15. @property (nonatomic, strong) UILabel *sizeTitleLab;
  16. @property (nonatomic, strong) UILabel *detailLab;
  17. @property(nonatomic, strong) GoodsReviewsImgV *reviewsImgV;
  18. @end
  19. @implementation GoodsReviewsCell
  20. - (void)awakeFromNib {
  21. [super awakeFromNib];
  22. // Initialization code
  23. }
  24. - (void)setSelected:(BOOL)selected animated:(BOOL)animated {
  25. [super setSelected:selected animated:animated];
  26. // Configure the view for the selected state
  27. }
  28. - (void)configData:(id)Data{
  29. GoodsReviewsListM *model = (GoodsReviewsListM *)Data;
  30. self.reviewM = model;
  31. self.headImg.image = UIImageDefaultImg_SD;
  32. self.nicknameLab.text = model.nickname;
  33. self.creatLab.text = model.created_at;
  34. self.sizeTitleLab.text = model.title;
  35. self.detailLab.text = model.detail;
  36. ///wm_todo 点赞本地记录的表
  37. // self.zanBtn.selected = [model.thumbsUp integerValue];
  38. [self.zanBtn setTitle:model.zan forState:UIControlStateNormal];
  39. if(!isValid(model.image_video) || model.image_video.count == 0 ){
  40. [self.reviewsImgV mas_updateConstraints:^(MASConstraintMaker *make) {
  41. make.height.mas_equalTo(10);
  42. }];
  43. }else{
  44. [self.reviewsImgV mas_updateConstraints:^(MASConstraintMaker *make) {
  45. make.height.mas_equalTo(GoodsReviewsimgWidth + 20);
  46. }];
  47. }
  48. [self.reviewsImgV tt_confignewdata:model.image_video];
  49. }
  50. - (void)setupSubviewS{
  51. [self.contentView addSubview:self.headImg];
  52. [self.contentView addSubview:self.nicknameLab];
  53. [self.contentView addSubview:self.creatLab];
  54. [self.contentView addSubview:self.zanBtn];
  55. [self.contentView addSubview:self.sizeTitleLab];
  56. [self.contentView addSubview:self.detailLab];
  57. [self.contentView addSubview:self.reviewsImgV];
  58. [self setupSubViewsFrame];
  59. self.backgroundColor = [UIColor clearColor];
  60. @weakify(self)
  61. self.reviewsImgV.ViewtapClose = ^(NSInteger num, id _Nonnull data) {
  62. // if(self.currencyparameterClose){
  63. // self.currencyparameterClose(num, data);
  64. // }
  65. @strongify(self)
  66. if(self.currencyparameterClose){
  67. self.currencyparameterClose(num, data);
  68. }
  69. };
  70. }
  71. - (void)setupSubViewsFrame{
  72. [self.headImg mas_makeConstraints:^(MASConstraintMaker *make) {
  73. make.left.top.mas_equalTo(20);
  74. make.width.mas_equalTo(40);
  75. make.height.mas_equalTo(40);
  76. }];
  77. [self.nicknameLab mas_makeConstraints:^(MASConstraintMaker *make) {
  78. make.left.equalTo(self.headImg.mas_right).offset(16);
  79. make.top.equalTo(self.headImg);
  80. make.height.mas_equalTo(20);
  81. make.right.equalTo(self.zanBtn.mas_left).offset(-10);
  82. }];
  83. [self.creatLab mas_makeConstraints:^(MASConstraintMaker *make) {
  84. make.left.equalTo(self.headImg.mas_right).offset(16);
  85. make.top.equalTo(self.nicknameLab.mas_bottom);
  86. make.height.mas_equalTo(20);
  87. make.right.equalTo(self.zanBtn.mas_left).offset(-10);
  88. }];
  89. [self.zanBtn mas_makeConstraints:^(MASConstraintMaker *make) {
  90. make.right.mas_equalTo(-10);
  91. make.centerY.equalTo(self.headImg);
  92. make.height.mas_equalTo(20);
  93. make.width.mas_equalTo(60);
  94. }];
  95. [self.sizeTitleLab mas_makeConstraints:^(MASConstraintMaker *make) {
  96. make.left.mas_equalTo(20);
  97. make.right.mas_equalTo(-20);
  98. make.top.equalTo(self.headImg.mas_bottom).offset(20);
  99. }];
  100. [self.detailLab mas_makeConstraints:^(MASConstraintMaker *make) {
  101. make.top.equalTo(self.sizeTitleLab.mas_bottom).offset(20);
  102. make.left.mas_equalTo(20);
  103. make.right.mas_equalTo(-20);
  104. }];
  105. [self.reviewsImgV mas_makeConstraints:^(MASConstraintMaker *make) {
  106. make.top.equalTo(self.detailLab.mas_bottom).offset(10);
  107. make.left.mas_equalTo(10);
  108. make.width.mas_equalTo(KScreenWidth-20);
  109. make.height.mas_equalTo(GoodsReviewsimgWidth + 20);
  110. make.bottom.mas_equalTo(-20);
  111. }];
  112. }
  113. #pragma mark - **************** handle ****************
  114. -(void)handle_addZanBtnEvent:(UIButton *)btn{
  115. /* if (NIL(User_token)){ //判断登陆
  116. [Fuction_Tool present_Loginpage];
  117. return;
  118. }
  119. NSString *url = nil;
  120. if(btn.selected){ //取消赞
  121. url = BaseRequestrUrl(GoodsDetails_productDelThumbsUp);
  122. }else{
  123. url = BaseRequestrUrl(GoodsDetails_productAddThumbsUp);
  124. }
  125. UIViewController *topVC = topViewController();
  126. [MBProgressHUD showHUDAddedTo:topVC.view animated:YES];
  127. [PPNetworkHelper POST:url parameters:@{@"entity_id":self.reviewM.review_id} success:^(id responseObject) {
  128. [MBProgressHUD hideHUDForView:topVC.view animated:YES];
  129. NSDictionary *tepDic = responseObject[@"data"];
  130. if(RequestSuccess){
  131. btn.selected = !btn.selected;
  132. self.zanBtn.selected = btn.selected;
  133. self.reviewM.thumbsUp = [NSString stringWithFormat:@"%d",![self.reviewM.thumbsUp boolValue]];
  134. self.reviewM.zan = [NSString stringWithFormat:@"%@",tepDic[@"num"]];
  135. [btn setTitle: self.reviewM.zan forState:UIControlStateNormal];
  136. [self.zanBtn setTitle: self.reviewM.zan forState:UIControlStateNormal];
  137. }
  138. [topVC.view makeToast:RequestErrorMsg duration:2 position:CSToastPositionCenter];
  139. } failure:^(NSError *error) {
  140. [MBProgressHUD hideHUDForView:topVC.view animated:YES];
  141. [topVC.view makeToast:ReqNetWorkFaild duration:2 position:CSToastPositionCenter];
  142. }];
  143. */
  144. }
  145. -(void)tap_imgFull:(UITapGestureRecognizer *)tap{
  146. }
  147. -(UIImageView *)headImg{
  148. if(!_headImg){
  149. _headImg = [[UIImageView alloc]init];
  150. _headImg.image = UIImageDefaultImg_SD;
  151. }
  152. return _headImg;
  153. }
  154. -(UILabel *)nicknameLab{
  155. if(!_nicknameLab){
  156. _nicknameLab = [[UILabel alloc]init];
  157. _nicknameLab.font = [UIFont fontWithName:Rob_Bold size:12];
  158. }
  159. return _nicknameLab;
  160. }
  161. -(UILabel *)creatLab{
  162. if(!_creatLab){
  163. _creatLab = [[UILabel alloc]init];
  164. _creatLab.font = [UIFont fontWithName:Rob_Regular size:12];
  165. }
  166. return _creatLab;
  167. }
  168. -(UIButton *)zanBtn{
  169. if(!_zanBtn){
  170. _zanBtn = [UIButton buttonWithType:UIButtonTypeCustom];
  171. [_zanBtn setImage:[UIImage imageNamed:@"goos_zan_normal"] forState:UIControlStateNormal];
  172. [_zanBtn setImage:[UIImage imageNamed:@"goos_zan_select"] forState:UIControlStateSelected];
  173. [_zanBtn setTitle:@"10" forState:UIControlStateNormal];
  174. [_zanBtn setTitleColor:[UIColor colorWithHexString:@"#0B0B0B"] forState:UIControlStateNormal];
  175. _zanBtn.titleLabel.font = [UIFont fontWithName:Rob_Regular size:12];
  176. [_zanBtn addTarget:self action:@selector(handle_addZanBtnEvent:) forControlEvents:UIControlEventTouchUpInside];
  177. [_zanBtn setTitleEdgeInsets:UIEdgeInsetsMake(0, 8, 0, -8)];
  178. }
  179. return _zanBtn;
  180. }
  181. -(UILabel *)sizeTitleLab{
  182. if(!_sizeTitleLab){
  183. _sizeTitleLab = [[UILabel alloc]init];
  184. _sizeTitleLab.font = [UIFont fontWithName:Rob_Regular size:12];
  185. _sizeTitleLab.textColor = [UIColor colorWithHexString:@"#B2B2B2"];
  186. _sizeTitleLab.numberOfLines = 0;
  187. _sizeTitleLab.preferredMaxLayoutWidth = KScreenWidth - 40;
  188. // _sizeTitleLab.adjustsFontSizeToFitWidth = KScreenWidth -40;
  189. }
  190. return _sizeTitleLab;
  191. }
  192. -(UILabel *)detailLab{
  193. if(!_detailLab){
  194. _detailLab = [UILabel new];
  195. _detailLab.textColor = [UIColor colorWithHexString:@"#0B0B0B"];
  196. _detailLab.font = [UIFont fontWithName:Rob_Regular size:12];
  197. // _detailLab.adjustsFontSizeToFitWidth = KScreenWidth -40;
  198. _detailLab.numberOfLines = 0;
  199. _detailLab.preferredMaxLayoutWidth = KScreenWidth - 40;
  200. }
  201. return _detailLab;
  202. }
  203. -(GoodsReviewsImgV *)reviewsImgV{
  204. if(!_reviewsImgV){
  205. _reviewsImgV = [[GoodsReviewsImgV alloc]initWithFrame:CGRectMake(10, 0, KScreenWidth-20, GoodsReviewsimgWidth +20)];
  206. }
  207. return _reviewsImgV;
  208. }
  209. @end