SPSBOrderBalanceTableViewController.m 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. //
  2. // SPSBOrderBalanceTableViewController.m
  3. // 我的社保
  4. //
  5. // Created by shanp on 2021/6/19.
  6. //
  7. #import "SPSBOrderBalanceTableViewController.h"
  8. #import "SPSBUIGeneralHeader.h"
  9. #import "SPSBOrderListTableViewCell.h"
  10. #import "SPSBOrderBalanceModel.h"
  11. #import "UITableView+SPSBDefault.h"
  12. #import "SPSBConfirmAlertViewController.h"
  13. #import "SPSBOrderBalancePayViewController.h"
  14. @interface SPSBOrderBalanceTableViewController ()
  15. @end
  16. @implementation SPSBOrderBalanceTableViewController
  17. - (instancetype)init {
  18. self = [super initWithStyle:UITableViewStyleGrouped];
  19. if (!self) return nil;
  20. return self;
  21. }
  22. - (void)viewDidLoad {
  23. [super viewDidLoad];
  24. [self setupTableView];
  25. }
  26. #pragma mark - Action
  27. - (void)cellAction:(SPSBOrderListTableViewCell *)cell type:(SPSBOrderListTableActionType)type {
  28. NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
  29. if (!indexPath || indexPath.row >= _spsb_dataArray.count) return;
  30. SPSBOrderBalanceModel *model = _spsb_dataArray[indexPath.row];
  31. switch (type) {
  32. case SPSBOrderListTableActionTypeDetails:
  33. [self showOrderBalanceMonthWithData:model];
  34. break;
  35. case SPSBOrderListTableActionTypePay:
  36. [self payOrder:model];
  37. default:
  38. break;
  39. }
  40. }
  41. - (void)payOrder:(SPSBOrderBalanceModel *)model {
  42. SPSBOrderBalancePayViewController *vc = SPSBOrderBalancePayViewController.new;
  43. vc.spsb_data = model;
  44. [self presentViewController:vc animated:false completion:nil];
  45. }
  46. - (void)showOrderBalanceMonthWithData:(SPSBOrderBalanceModel *)model {
  47. SPSBConfirmAlertViewController *vc = [SPSBConfirmAlertViewController alertWithTitle:@"补缴月份" content:model.spsb_months];
  48. [vc setConfirmButtonTitle:@"我知道了" titleColor:nil action:^{
  49. }];
  50. [self presentViewController:vc animated:false completion:nil];
  51. }
  52. - (void)setSpsb_dataArray:(NSArray *)spsb_dataArray {
  53. _spsb_dataArray = spsb_dataArray;
  54. [self judgeData];
  55. [self.tableView reloadData];
  56. }
  57. - (void)judgeData {
  58. if (_spsb_dataArray.count == 0) {
  59. self.tableView.backgroundColor = spsb_FFFFFF_color(1.f);
  60. [self.tableView setDefaultFootViewWithError:nil image:jxh_getImage(buchae_qs) height:jxh_viewHeight(self.tableView) action:^{
  61. }];
  62. } else {
  63. self.tableView.backgroundColor = spsb_F5F5F5_color();
  64. [self.tableView removeDefaultFootView];
  65. }
  66. }
  67. #pragma mark - Network Action
  68. #pragma mark - Delegate & DataSource
  69. static NSString * const reuseIdentifier = @"SPSBOrderBalanceTableViewCell";
  70. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
  71. SPSBOrderListTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifier];
  72. if (!cell) {
  73. cell = [[SPSBOrderListTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentifier orderType:SPSBOrderTypeOrderBalance];
  74. @weakify(self)
  75. cell.spsb_action = ^(SPSBOrderListTableViewCell * _Nonnull cell, SPSBOrderListTableActionType type) {
  76. @strongify(self)
  77. [self cellAction:cell type:type];
  78. };
  79. }
  80. SPSBOrderBalanceModel *model = _spsb_dataArray[indexPath.row];
  81. [cell reloadOrderBalanceData:model];
  82. return cell;
  83. }
  84. - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
  85. return _spsb_dataArray.count;
  86. }
  87. - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
  88. [tableView deselectRowAtIndexPath:indexPath animated:false];
  89. }
  90. - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
  91. return 10;
  92. }
  93. - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
  94. return UIView.new;
  95. }
  96. - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
  97. return 10;
  98. }
  99. - (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
  100. return UIView.new;
  101. }
  102. #pragma mark - UI
  103. - (void)setupTableView {
  104. self.tableView.estimatedRowHeight = 100.f;
  105. self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
  106. self.tableView.showsHorizontalScrollIndicator = false;
  107. self.tableView.showsVerticalScrollIndicator = false;
  108. self.tableView.alwaysBounceVertical = true;
  109. }
  110. @end