NYGetjobStartRuleCell.m 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. //
  2. // NYGetjobStartRuleCell.m
  3. // jiaPei
  4. //
  5. // Created by Ning.ge on 2023/6/9.
  6. // Copyright © 2023 JCZ. All rights reserved.
  7. //
  8. #import "NYGetjobStartRuleCell.h"
  9. #import "NYChooseTypeAlertViewController.h"
  10. @interface NYGetjobStartRuleCell ()
  11. @property (nonatomic, readwrite, strong) NYGetjobStartRuleViewModel *viewModel;
  12. @property (nonatomic, readwrite, strong) NSArray *btnList;
  13. @property (nonatomic, readwrite, strong) NSArray *layList;
  14. @property (weak, nonatomic) IBOutlet NSLayoutConstraint *k1_layW;
  15. @property (weak, nonatomic) IBOutlet NSLayoutConstraint *k2_layW;
  16. @property (weak, nonatomic) IBOutlet NSLayoutConstraint *k3_layW;
  17. @property (weak, nonatomic) IBOutlet NSLayoutConstraint *k4_layW;
  18. @property (weak, nonatomic) IBOutlet NSLayoutConstraint *k1_layView_L;
  19. @property (weak, nonatomic) IBOutlet NSLayoutConstraint *k4_layView_R;
  20. @end
  21. @implementation NYGetjobStartRuleCell
  22. #pragma mark - PublicMethods
  23. + (instancetype)cellWithCollectionView:(UICollectionView *)collectionView forIndexPath:(NSIndexPath *)indexPath {
  24. static NSString *ID = @"NYGetjobStartRuleCell";
  25. [collectionView registerNib:[UINib nibWithNibName:ID bundle:nil] forCellWithReuseIdentifier:ID];
  26. NYGetjobStartRuleCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:ID forIndexPath:indexPath];
  27. if (!cell) cell = [self rq_viewFromXib];
  28. cell.btnList = @[cell.k1_button,cell.k2_button,cell.k3_button,cell.k4_button];
  29. cell.layList = @[cell.k1_layW,cell.k2_layW,cell.k3_layW,cell.k4_layW];
  30. if(RQ_USER_MANAGER.cykhPxkmStr.length>0){
  31. switch (RQ_USER_MANAGER.cykhPxkmStr.intValue) {
  32. case 5:{
  33. cell.current_Button = cell.k1_button;
  34. cell.k1_button.selected = YES;
  35. }break;
  36. case 6:{
  37. cell.current_Button = cell.k2_button;
  38. cell.k2_button.selected = YES;
  39. }break;
  40. case 7:{
  41. cell.current_Button = cell.k3_button;
  42. cell.k3_button.selected = YES;
  43. }break;
  44. case 8:{
  45. cell.current_Button = cell.k4_button;
  46. cell.k4_button.selected = YES;
  47. }break;
  48. default:
  49. cell.current_Button = cell.k1_button;
  50. cell.k1_button.selected = YES;
  51. break;
  52. }
  53. }else {
  54. cell.current_Button = cell.k1_button;
  55. cell.k1_button.selected = YES;
  56. RQ_USER_MANAGER.cykhPxkmStr = @"5";
  57. }
  58. return cell;
  59. }
  60. - (void)bindViewModel:(NYGetjobStartRuleViewModel *)viewModel {
  61. self.viewModel = viewModel;
  62. }
  63. - (void)cellUpdateView:(NSArray *)subject_array {
  64. if(subject_array.count>0){
  65. //判断 array
  66. self.k1_layView_L.constant = 90.f;
  67. self.k4_layView_R.constant = 90.f;
  68. self.k1_button.tag = 1;
  69. self.k3_button.tag = 4;
  70. RQ_USER_MANAGER.cykhPxkmStr = @"1";
  71. for (int i=0; i<self.btnList.count; i++) {
  72. QMUIButton *btn = self.btnList[i];
  73. NSLayoutConstraint *layW = self.layList[i];
  74. NSString *str_index = [NSString stringWithFormat:@"%d",i];
  75. if(![subject_array containsObject:str_index]){
  76. btn.hidden = YES;
  77. layW.constant = 0.f;
  78. }else{
  79. btn.hidden = NO;
  80. layW.constant = 60.f;
  81. }
  82. }
  83. [self setNeedsLayout];
  84. }
  85. }
  86. #pragma mark - SystemMethods
  87. - (void)awakeFromNib {
  88. [super awakeFromNib];
  89. self.contentView.backgroundColor = UIColor.clearColor;
  90. self.k1_button.imagePosition = QMUIButtonImagePositionTop;
  91. self.k1_button.spacingBetweenImageAndTitle = 8;
  92. self.k1_button.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
  93. self.k2_button.imagePosition = QMUIButtonImagePositionTop;
  94. self.k2_button.spacingBetweenImageAndTitle = 8;
  95. self.k2_button.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
  96. self.k3_button.imagePosition = QMUIButtonImagePositionTop;
  97. self.k3_button.spacingBetweenImageAndTitle = 8;
  98. self.k3_button.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
  99. self.k4_button.imagePosition = QMUIButtonImagePositionTop;
  100. self.k4_button.spacingBetweenImageAndTitle = 8;
  101. self.k4_button.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
  102. }
  103. - (IBAction)actionSubjectButton:(QMUIButton *)sender {
  104. NSLog(@"点击了");
  105. CGFloat width = 290.f,height = 283.f;
  106. CGFloat ctY = (SL_kScreenHeight - height)*0.5;
  107. CGFloat ctX = (SL_kScreenWidth - width)*0.5;
  108. //弹窗-提示
  109. @weakify(self)
  110. NYChooseTypeAlertViewController *chooseTypeAlertViewController = [[NYChooseTypeAlertViewController alloc] init];
  111. chooseTypeAlertViewController.type = sender.tag;
  112. QMUIModalPresentationViewController *modalPresentationViewController = [[QMUIModalPresentationViewController alloc] init];
  113. chooseTypeAlertViewController.chooseFinishBlock = ^(NSInteger type) {
  114. self.current_Button.selected = NO;
  115. sender.selected = YES;
  116. self.current_Button = sender;
  117. RQ_USER_MANAGER.cykhPxkmStr = [NSString stringWithFormat:@"%zd",type];//从业阶段
  118. [modalPresentationViewController hideWithAnimated:YES
  119. completion:nil];
  120. };
  121. chooseTypeAlertViewController.chooseCancelBlock = ^{
  122. [modalPresentationViewController hideWithAnimated:YES
  123. completion:nil];
  124. };
  125. modalPresentationViewController.contentViewMargins = UIEdgeInsetsMake(ctY, ctX , ctY, ctX);
  126. modalPresentationViewController.contentViewController = chooseTypeAlertViewController;
  127. modalPresentationViewController.modal = YES;
  128. [modalPresentationViewController showWithAnimated:YES completion:nil];
  129. }
  130. @end