ASOrderListSubController.m 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. //
  2. // ASOrderListSubController.m
  3. // Asteria
  4. //
  5. // Created by iOS on 2024/5/13.
  6. //
  7. #import "ASOrderListSubController.h"
  8. #import "ASOrderListCell.h"
  9. #import "ASOrderListViewModel.h"
  10. @interface ASOrderListSubController ()<UITableViewDelegate, UITableViewDataSource>
  11. @property (nonatomic, strong) UITableView *tableV;
  12. @property (nonatomic, strong) NSMutableArray<KWMineHomeOrderModel *> *orderArr;
  13. @property (nonatomic, assign) NSInteger page;
  14. @property (nonatomic, strong) ASOrderListViewModel *vm;
  15. @end
  16. @implementation ASOrderListSubController
  17. - (void)viewDidLoad {
  18. [super viewDidLoad];
  19. self.customNavBar.hidden = true;
  20. self.statusBgV.hidden = true;
  21. self.vm = [ASOrderListViewModel new];
  22. self.page = 1;
  23. [self getOrderData];
  24. [self loadSubV];
  25. [self viewAction];
  26. self.view.backgroundColor = _F8F8F8;
  27. }
  28. - (void)refreshListData {
  29. [self.tableV.mj_header beginRefreshing];
  30. }
  31. - (void)checkEmpty {
  32. if (self.orderArr.count == 0) {
  33. [self showEmptyV: self.tableV];
  34. } else {
  35. [self hiddenEmpty];
  36. }
  37. }
  38. - (void)viewAction {
  39. __weak typeof(self) weakSelf = self;
  40. self.tableV.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
  41. weakSelf.page = 1;
  42. [weakSelf getOrderData];
  43. }];
  44. self.tableV.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock:^{
  45. weakSelf.page += 1;
  46. [weakSelf getOrderData];
  47. }];
  48. }
  49. // MARK: - net
  50. - (void)getOrderData {
  51. [MBProgressHUD showHUDAddedTo:self.view animated:true];
  52. __weak typeof(self) weakSelf = self;
  53. [self.vm getOrderNet:self.status page:self.page com:^(NSArray<KWMineHomeOrderModel *> * _Nonnull arr) {
  54. [MBProgressHUD hideHUDForView:weakSelf.view animated:true];
  55. [weakSelf.tableV.mj_header endRefreshing];
  56. if (arr.count < 10) {
  57. [weakSelf.tableV.mj_footer endRefreshingWithNoMoreData];
  58. } else {
  59. [weakSelf.tableV.mj_footer endRefreshing];
  60. }
  61. if (weakSelf.page == 1) {
  62. weakSelf.orderArr = [NSMutableArray arrayWithArray:arr];
  63. } else {
  64. [weakSelf.orderArr addObjectsFromArray:arr];
  65. }
  66. [weakSelf.tableV reloadData];
  67. [weakSelf checkEmpty];
  68. }];
  69. }
  70. // MARK: - loadSubv
  71. - (void)loadSubV {
  72. [self.view addSubview:self.tableV];
  73. [self.tableV mas_makeConstraints:^(MASConstraintMaker *make) {
  74. make.edges.equalTo(self.view);
  75. }];
  76. }
  77. // MARK: - subvs
  78. - (UITableView *)tableV {
  79. if (!_tableV) {
  80. UITableView *v = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
  81. [v registerClass:[ASOrderListCell class] forCellReuseIdentifier:@"ASOrderListCell"];
  82. v.delegate = self;
  83. v.dataSource = self;
  84. [v baseSet];
  85. v.backgroundColor = _F8F8F8;
  86. _tableV = v;
  87. }
  88. return _tableV;
  89. }
  90. #pragma mark - UITableViewDelegate,UITableViewDataSource
  91. - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
  92. }
  93. - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
  94. return self.orderArr.count;
  95. }
  96. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
  97. ASOrderListCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ASOrderListCell" forIndexPath:indexPath];
  98. if (self.orderArr.count <= indexPath.row) {
  99. return cell;
  100. }
  101. KWMineHomeOrderModel *m = self.orderArr[indexPath.row];
  102. [cell setData:m];
  103. @weakify(self);
  104. [cell setViewOrderCall:^(NSInteger type){
  105. // type 0: view Order 1: trackOrder 2: reorder 3: pay now
  106. if (![ASUserInfoManager.shared isLogin]) {
  107. [self popAndToLogin];
  108. return;
  109. }
  110. // 查看订单
  111. NSLog(@"查看订单 view order");
  112. // KWM_OrderViewC *vc = [[KWM_OrderViewC alloc]init];
  113. // vc.order_id = m.orderId;
  114. // [[Current_normalTool topViewController].navigationController pushViewController:vc animated:YES];
  115. }];
  116. return cell;
  117. }
  118. @end