ASGoodsDetailsSizeCell.m 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. //
  2. // ASGoodsDetailsSizeCell.m
  3. // Asteria
  4. //
  5. // Created by xingyu on 2024/5/18.
  6. //
  7. #import "ASGoodsDetailsSizeCell.h"
  8. #import "ASGoodsDetailsSizeSelView.h"
  9. @interface ASGoodsDetailsSizeCell()
  10. @property (nonatomic, strong) ASGoodsDetailsSizeSelView *sizeV;
  11. @property (nonatomic, strong) NSMutableArray <OptionsValuesM *>*selOptionArr;
  12. @end
  13. @implementation ASGoodsDetailsSizeCell
  14. - (void)setupSubviewS{
  15. [self.contentView addSubview:self.sizeV];
  16. [self.sizeV mas_makeConstraints:^(MASConstraintMaker *make) {
  17. make.left.mas_equalTo(0);
  18. make.width.mas_equalTo(KScreenWidth);
  19. make.top.mas_equalTo(0);
  20. make.height.equalTo(@300);
  21. make.bottom.mas_equalTo(-10);
  22. }];
  23. K_WEAK_SELF;
  24. self.sizeV.reloadHeight = ^(CGFloat h) {
  25. K_STRONG_SELF;
  26. [self.sizeV mas_remakeConstraints:^(MASConstraintMaker *make) {
  27. make.left.mas_equalTo(0);
  28. make.width.mas_equalTo(KScreenWidth);
  29. make.top.mas_equalTo(0);
  30. make.height.equalTo(@(h));
  31. make.bottom.mas_equalTo(-10);
  32. }];
  33. [self reloadInputViews];
  34. [self setNeedsDisplay];
  35. };
  36. self.sizeV.reloadPrice = ^{
  37. K_STRONG_SELF;
  38. [self updatePrice];
  39. };
  40. }
  41. - (void)updatePrice {
  42. NSInteger num = self.sizeV.num;
  43. NSMutableArray <OptionsValuesM *>*selMArr = [NSMutableArray array];
  44. for (OptionsModel *m in self.sizeV.optionArr) {
  45. if (m.optionSelectTag >= 0 && m.optionSelectTag < m.values.count) {
  46. [selMArr addObject:m.values[m.optionSelectTag]];
  47. }
  48. }
  49. [self tool_changePriceModel:selMArr goodCount:num];
  50. }
  51. -(void)tool_changePriceModel:(NSMutableArray <OptionsValuesM *>*)valueMAry goodCount:(NSInteger )goosNum{
  52. self.selOptionArr = valueMAry;
  53. NSMutableDictionary *optionDic = [NSMutableDictionary dictionary];
  54. for (OptionsModel *optionM in self.sizeV.optionArr) {
  55. OptionsValuesM *valuesM = optionM.values[optionM.optionSelectTag];
  56. NSString *tempStr =[NSString stringWithFormat:@"options[%@]",optionM.option_id];
  57. optionDic[tempStr] =valuesM.option_type_id;
  58. }
  59. NSMutableDictionary *params = [NSMutableDictionary dictionaryWithDictionary:optionDic];
  60. params[@"qty"] = [NSString stringWithFormat:@"%ld", self.sizeV.num];
  61. // NSLog(@"=====%@", params);
  62. if (self.currencyparameterClose) {
  63. self.currencyparameterClose(100, params);
  64. }
  65. }
  66. - (void)configData:(id)Data{
  67. _model = (GoodsInformationM *)Data;
  68. NSArray *modelAry = _model.options;
  69. for (OptionsModel *m in modelAry) {
  70. m.isLongValue = false;
  71. // if (m.is_require.boolValue) {
  72. // m.optionSelectTag = 0;
  73. // } else {
  74. // m.optionSelectTag = -1;
  75. // }
  76. for (OptionsValuesM *val in m.values) {
  77. if (val.title.length > 7) {
  78. m.isLongValue = true;
  79. break;
  80. }
  81. }
  82. }
  83. self.sizeV.optionArr = modelAry;
  84. self.sizeV.tipStr = _model.description;
  85. }
  86. - (ASGoodsDetailsSizeSelView *)sizeV {
  87. if(!_sizeV){
  88. ASGoodsDetailsSizeSelView *v = [[ASGoodsDetailsSizeSelView alloc] initWithFrame:CGRectZero collectionViewLayout:[[UICollectionViewLayout alloc] init] ];
  89. _sizeV = v;
  90. }
  91. return _sizeV;
  92. }
  93. @end