ASOrderDetailsViewController.m 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. //
  2. // ASOrderDetailsViewController.m
  3. // Asteria
  4. //
  5. // Created by xingyu on 2024/5/15.
  6. //
  7. #import "ASOrderDetailsViewController.h"
  8. #import "ASOrderDetailsVM.h"
  9. #import "ASOrderDetailsModel.h"
  10. #import "ASOrderDetailsInfoCell.h"
  11. #import "ASOrderDetailsItemsCell.h"
  12. #import "ASOrderDetailsPriceCell.h"
  13. #import "ASPayFinishHeadView.h"
  14. @interface ASOrderDetailsViewController ()<UITableViewDelegate, UITableViewDataSource>
  15. @property (nonatomic, strong) UITableView *tableView;
  16. @property (nonatomic, strong) ASOrderDetailsVM *orderDetailsVM;
  17. @property (nonatomic, strong) ASOrderDetailsModel *orderDetailsModel;
  18. @end
  19. @implementation ASOrderDetailsViewController
  20. - (void)viewDidLoad {
  21. [super viewDidLoad];
  22. if (self.isPay) {
  23. self.titleStr = @"Payment";
  24. } else {
  25. self.titleStr = @"Orders Information";
  26. }
  27. self.statusBgV.backgroundColor = Col_FFF;
  28. self.customNavBar.backgroundColor = Col_FFF;
  29. self.orderDetailsVM = [ASOrderDetailsVM new];
  30. [self requestOrderDetailsData];
  31. }
  32. - (void)requestOrderDetailsData {
  33. [MBProgressHUD showHUDAddedTo:self.view animated:true];
  34. @weakify(self)
  35. [self.orderDetailsVM getOrderDetailsWithOrderid:self.orderId complete:^(ASOrderDetailsModel *orderModel) {
  36. @strongify(self)
  37. [MBProgressHUD hideHUDForView:self.view animated:true];
  38. self.orderDetailsModel = orderModel;
  39. [self loadSubV];
  40. [self checkEmpty];
  41. }];
  42. }
  43. - (void)checkEmpty {
  44. if (!self.orderDetailsModel) {
  45. [self showEmptyV: self.tableView];
  46. } else {
  47. [self hiddenEmpty];
  48. }
  49. }
  50. #pragma mark - UITableViewDelegate,UITableViewDataSource
  51. - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
  52. return 3;
  53. }
  54. - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
  55. if (section == 1) {
  56. return self.orderDetailsModel.items.count;
  57. }
  58. return 1;
  59. }
  60. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
  61. if (indexPath.section == 0) {
  62. ASOrderDetailsInfoCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ASOrderDetailsInfoCell" forIndexPath:indexPath];
  63. cell.orderModel = self.orderDetailsModel;
  64. return cell;
  65. } else if (indexPath.section == 1) {
  66. ASOrderDetailsItemsCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ASOrderDetailsItemsCell" forIndexPath:indexPath];
  67. NSArray *itemArr = self.orderDetailsModel.items;
  68. ASOrderDetailsItemModel *itemModel = itemArr[indexPath.row];
  69. cell.itemModel = itemModel;
  70. return cell;
  71. } else {
  72. ASOrderDetailsPriceCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ASOrderDetailsPriceCell" forIndexPath:indexPath];
  73. cell.orderModel = self.orderDetailsModel;
  74. return cell;
  75. }
  76. }
  77. // MARK: - loadSubv
  78. - (void)loadSubV {
  79. [self.view addSubview:self.tableView];
  80. [self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
  81. make.top.equalTo(self.customNavBar.mas_bottom);
  82. make.leading.trailing.bottom.equalTo(self.view);
  83. }];
  84. if (self.isPay) {
  85. ASPayFinishHeadView *payFailedView = [[ASPayFinishHeadView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, 100) status:1 desc:self.orderId];
  86. // K_WEAK_SELF;
  87. payFailedView.clickBlock = ^(int type) {
  88. // K_STRONG_SELF;
  89. };
  90. float viewHeight = [payFailedView getViewHeight];
  91. payFailedView.frame = CGRectMake(0, 0, KScreenWidth, viewHeight);
  92. self.tableView.tableHeaderView = payFailedView;
  93. }
  94. }
  95. - (void)backAction {
  96. if (self.isPay) {
  97. [self.navigationController popToRootViewControllerAnimated:YES];
  98. } else {
  99. [self.navigationController popViewControllerAnimated:YES];
  100. }
  101. }
  102. // MARK: - subvs
  103. - (UITableView *)tableView {
  104. if (!_tableView) {
  105. _tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
  106. [_tableView registerClass:[ASOrderDetailsInfoCell class] forCellReuseIdentifier:@"ASOrderDetailsInfoCell"];
  107. [_tableView registerClass:[ASOrderDetailsItemsCell class] forCellReuseIdentifier:@"ASOrderDetailsItemsCell"];
  108. [_tableView registerClass:[ASOrderDetailsPriceCell class] forCellReuseIdentifier:@"ASOrderDetailsPriceCell"];
  109. _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
  110. _tableView.delegate = self;
  111. _tableView.dataSource = self;
  112. _tableView.backgroundColor = _F8F8F8;
  113. _tableView.estimatedRowHeight = 50;
  114. }
  115. return _tableView;
  116. }
  117. @end