ASOrderDetailsViewController.m 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  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. @interface ASOrderDetailsViewController ()<UITableViewDelegate, UITableViewDataSource>
  14. @property (nonatomic, strong) UITableView *tableView;
  15. @property (nonatomic, strong) ASOrderDetailsVM *orderDetailsVM;
  16. @property (nonatomic, strong) ASOrderDetailsModel *orderDetailsModel;
  17. @end
  18. @implementation ASOrderDetailsViewController
  19. - (void)viewDidLoad {
  20. [super viewDidLoad];
  21. self.titleStr = @"Orders inf";
  22. self.statusBgV.backgroundColor = Col_FFF;
  23. self.customNavBar.backgroundColor = Col_FFF;
  24. self.orderDetailsVM = [ASOrderDetailsVM new];
  25. [self requestOrderDetailsData];
  26. }
  27. - (void)requestOrderDetailsData {
  28. [MBProgressHUD showHUDAddedTo:self.view animated:true];
  29. @weakify(self)
  30. [self.orderDetailsVM getOrderDetailsWithOrderid:self.orderId complete:^(ASOrderDetailsModel *orderModel) {
  31. @strongify(self)
  32. [MBProgressHUD hideHUDForView:self.view animated:true];
  33. self.orderDetailsModel = orderModel;
  34. [self loadSubV];
  35. [self checkEmpty];
  36. }];
  37. }
  38. - (void)checkEmpty {
  39. if (!self.orderDetailsModel) {
  40. [self showEmptyV: self.tableView];
  41. } else {
  42. [self hiddenEmpty];
  43. }
  44. }
  45. #pragma mark - UITableViewDelegate,UITableViewDataSource
  46. - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
  47. return 3;
  48. }
  49. - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
  50. if (section == 1) {
  51. return self.orderDetailsModel.items.count;
  52. }
  53. return 1;
  54. }
  55. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
  56. if (indexPath.section == 0) {
  57. ASOrderDetailsInfoCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ASOrderDetailsInfoCell" forIndexPath:indexPath];
  58. cell.orderModel = self.orderDetailsModel;
  59. return cell;
  60. } else if (indexPath.section == 1) {
  61. ASOrderDetailsItemsCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ASOrderDetailsItemsCell" forIndexPath:indexPath];
  62. NSArray *itemArr = self.orderDetailsModel.items;
  63. ASOrderDetailsItemModel *itemModel = itemArr[indexPath.row];
  64. cell.itemModel = itemModel;
  65. return cell;
  66. } else {
  67. ASOrderDetailsPriceCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ASOrderDetailsPriceCell" forIndexPath:indexPath];
  68. cell.orderModel = self.orderDetailsModel;
  69. return cell;
  70. }
  71. }
  72. // MARK: - loadSubv
  73. - (void)loadSubV {
  74. [self.view addSubview:self.tableView];
  75. [self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
  76. make.top.equalTo(self.customNavBar.mas_bottom);
  77. make.leading.trailing.bottom.equalTo(self.view);
  78. }];
  79. }
  80. // MARK: - subvs
  81. - (UITableView *)tableView {
  82. if (!_tableView) {
  83. _tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
  84. [_tableView registerClass:[ASOrderDetailsInfoCell class] forCellReuseIdentifier:@"ASOrderDetailsInfoCell"];
  85. [_tableView registerClass:[ASOrderDetailsItemsCell class] forCellReuseIdentifier:@"ASOrderDetailsItemsCell"];
  86. [_tableView registerClass:[ASOrderDetailsPriceCell class] forCellReuseIdentifier:@"ASOrderDetailsPriceCell"];
  87. _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
  88. _tableView.delegate = self;
  89. _tableView.dataSource = self;
  90. _tableView.backgroundColor = _F8F8F8;
  91. _tableView.estimatedRowHeight = 50;
  92. }
  93. return _tableView;
  94. }
  95. @end