NYGetjobStartRuleCell.m 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  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>1){
  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. }else if(subject_array.count<=1){
  84. RQ_USER_MANAGER.cykhPxkmStr = @"4";
  85. for (int i=0; i<self.btnList.count; i++) {
  86. QMUIButton *btn = self.btnList[i];
  87. btn.hidden = YES;
  88. }
  89. }
  90. [self setNeedsLayout];
  91. }
  92. #pragma mark - SystemMethods
  93. - (void)awakeFromNib {
  94. [super awakeFromNib];
  95. self.contentView.backgroundColor = UIColor.clearColor;
  96. self.k1_button.imagePosition = QMUIButtonImagePositionTop;
  97. self.k1_button.spacingBetweenImageAndTitle = 8;
  98. self.k1_button.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
  99. self.k2_button.imagePosition = QMUIButtonImagePositionTop;
  100. self.k2_button.spacingBetweenImageAndTitle = 8;
  101. self.k2_button.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
  102. self.k3_button.imagePosition = QMUIButtonImagePositionTop;
  103. self.k3_button.spacingBetweenImageAndTitle = 8;
  104. self.k3_button.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
  105. self.k4_button.imagePosition = QMUIButtonImagePositionTop;
  106. self.k4_button.spacingBetweenImageAndTitle = 8;
  107. self.k4_button.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
  108. }
  109. - (IBAction)actionSubjectButton:(QMUIButton *)sender {
  110. if([self.time_Button.currentTitle isEqualToString:@"结束计时"])return;
  111. NSLog(@"点击了");
  112. CGFloat width = 290.f,height = 283.f;
  113. CGFloat ctY = (SL_kScreenHeight - height)*0.5;
  114. CGFloat ctX = (SL_kScreenWidth - width)*0.5;
  115. //弹窗-提示
  116. @weakify(self)
  117. NYChooseTypeAlertViewController *chooseTypeAlertViewController = [[NYChooseTypeAlertViewController alloc] init];
  118. chooseTypeAlertViewController.type = sender.tag;
  119. QMUIModalPresentationViewController *modalPresentationViewController = [[QMUIModalPresentationViewController alloc] init];
  120. chooseTypeAlertViewController.chooseFinishBlock = ^(NSInteger type) {
  121. self.current_Button.selected = NO;
  122. sender.selected = YES;
  123. self.current_Button = sender;
  124. RQ_USER_MANAGER.cykhPxkmStr = [NSString stringWithFormat:@"%zd",type];//从业阶段
  125. [modalPresentationViewController hideWithAnimated:YES
  126. completion:nil];
  127. };
  128. chooseTypeAlertViewController.chooseCancelBlock = ^{
  129. [modalPresentationViewController hideWithAnimated:YES
  130. completion:nil];
  131. };
  132. modalPresentationViewController.contentViewMargins = UIEdgeInsetsMake(ctY, ctX , ctY, ctX);
  133. modalPresentationViewController.contentViewController = chooseTypeAlertViewController;
  134. modalPresentationViewController.modal = YES;
  135. [modalPresentationViewController showWithAnimated:YES completion:nil];
  136. }
  137. @end