| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446 |
- //
- // OrderListVC.m
- // yunbaolive
- //
- // Created by ybRRR on 2020/2/6.
- // Copyright © 2020 cat. All rights reserved.
- //
- #import "OrderListVC.h"
- #import "SPPageMenu.h"
- #import "OrderListCell.h"
- #import "OrderModel.h"
- #import "OrderDetailVC.h"
- #import "PayOrderView.h"
- #import "PublishEvaluateVC.h"
- #import "AppendEvaluateVC.h"
- #import "BuyerRefundDetailVC.h"
- @interface OrderListVC ()<SPPageMenuDelegate,UITableViewDataSource, UITableViewDelegate,orderCellBtnDelegate>
- {
- int pageIndex;
- }
- @property(nonatomic, strong)NSArray *titles;
- @property(nonatomic, strong)NSArray *typeArr;
- @property (nonatomic, strong) SPPageMenu *pageMenu;
- @property (nonatomic, strong)UITableView *orderTable;
- @property(nonatomic, strong)NSString *orderType;
- @property (nonatomic, strong)NSMutableArray *dataArr;
- @property (nonatomic, strong)NSArray *models;
- @property (nonatomic, strong)PayOrderView *payView;
- @end
- @implementation OrderListVC
- -(NSArray *)models{
- NSMutableArray *array = [NSMutableArray array];
-
- for (NSDictionary *dic in self.dataArr) {
- OrderModel *model = [OrderModel modelWithDic:dic];
- [array addObject:model];
- }
- _models = array;
- return _models;
- }
- -(void)requestOrderData{
- YBWeakSelf;
- NSString *url = [purl stringByAppendingFormat:@"?service=Buyer.getGoodsOrderList"];
-
- NSDictionary *signdic = @{@"uid":[Config getOwnID],@"token":[Config getOwnToken], @"time":[NSNumber numberWithLong: (long)[[NSDate date] timeIntervalSince1970]]};
- NSString *sign = [PublicObj sortString:signdic];
- NSDictionary *dic = @{
- @"uid":[Config getOwnID],
- @"token":[Config getOwnToken],
- @"type":self.orderType,
- @"p":@(pageIndex),
- @"time":[NSNumber numberWithLong: (long)[[NSDate date] timeIntervalSince1970]],
- @"sign":sign
- };
- [YBNetworking postWithUrl:@"Buyer.getGoodsOrderList" Dic:dic Suc:^(int code, id info, NSString *msg) {
- [self.orderTable.mj_header endRefreshing];
- [self.orderTable.mj_footer endRefreshing];
- if (code ==0) {
- NSArray *infos = info;
- if (pageIndex == 1) {
- [self.dataArr removeAllObjects];
- if (infos.count < 1) {
- [PublicView showImgNoData:self.orderTable name:@"shop_无数据" text:YZMsg(@"你还没有相关订单")];
- [self.orderTable reloadData];
- return ;
- }else{
- [PublicView hiddenImgNoData:self.orderTable];
- }
-
- }
- [self.dataArr addObjectsFromArray:infos];
- [self.orderTable reloadData];
- }else{
- [MBProgressHUD showError:msg];
- }
- } Fail:^(id fail) {
- [self.orderTable.mj_header endRefreshing];
- [self.orderTable.mj_footer endRefreshing];
- }];
- }
- -(void)viewWillAppear:(BOOL)animated
- {
- [super viewWillAppear:YES];
- [self.orderTable.mj_header beginRefreshing];
- }
- - (UIStatusBarStyle)preferredStatusBarStyle {
- if (@available(iOS 13.0,*)) {
- return UIStatusBarStyleDarkContent;
- }
- return UIStatusBarStyleDefault;
- }
- - (void)viewDidLoad {
- [super viewDidLoad];
- self.titleL.text = YZMsg(@"我的订单");
- self.view.backgroundColor = UIColor.whiteColor;
- self.subNavi.backgroundColor = UIColor.whiteColor;
- self.titleL.textColor = UIColor.blackColor;
- [self.leftBtn setImage:[UIImage imageNamed:@"pub_back_black"] forState:0];
- self.naviLine.hidden = NO;
- self.naviLine.backgroundColor = RGB(245, 245, 245);
-
- _titles = @[YZMsg(@"全部"),YZMsg(@"待付款"),YZMsg(@"待发货"),YZMsg(@"待收货"),YZMsg(@"待评价"),YZMsg(@"退款")];
- _typeArr = @[@"all",@"wait_payment",@"wait_shipment",@"wait_receive",@"wait_evaluate",@"refund"];
- self.orderType = _typeArr[self.selectIndex];
- pageIndex = 1;
- self.dataArr = [NSMutableArray array];
-
-
- _pageMenu = [SPPageMenu pageMenuWithFrame:CGRectMake(0, 64+statusbarHeight, _window_width, 40) trackerStyle:SPPageMenuTrackerStyleLineAttachment];
- _pageMenu.tracker.backgroundColor = Pink_Cor;
- [_pageMenu setItems:self.titles selectedItemIndex:self.selectIndex];
- _pageMenu.delegate = self;
- _pageMenu.backgroundColor = UIColor.whiteColor;
- _pageMenu.dividingLine.hidden = YES;
- _pageMenu.selectedItemTitleColor = [UIColor blackColor];
- _pageMenu.unSelectedItemTitleColor = [UIColor grayColor];
- _pageMenu.selectedItemTitleFont = [UIFont systemFontOfSize:14];
- _pageMenu.unSelectedItemTitleFont = [UIFont systemFontOfSize:14];
- _pageMenu.permutationWay = SPPageMenuPermutationWayScrollAdaptContent;
- [self.view addSubview:_pageMenu];
-
- [self.view addSubview:self.orderTable];
- [self requestOrderData];
- }
- - (void)pageMenu:(SPPageMenu *)pageMenu itemSelectedAtIndex:(NSInteger)index {
- NSLog(@"sssssss::::%zd",index);
- pageIndex = 1;
- self.orderType = _typeArr[index];
- [self requestOrderData];
- }
- -(UITableView *)orderTable{
- if (!_orderTable) {
- _orderTable = [[UITableView alloc]initWithFrame:CGRectMake(0, self.pageMenu.bottom, _window_width, _window_height-64-statusbarHeight-40) style:UITableViewStylePlain];
- _orderTable.delegate = self;
- _orderTable.dataSource = self;
- _orderTable.separatorStyle = UITableViewCellSeparatorStyleNone;
- _orderTable.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
- pageIndex = 1;
- [self requestOrderData];
- }];
- _orderTable.mj_footer = [MJRefreshBackFooter footerWithRefreshingBlock:^{
- pageIndex ++;
- [self requestOrderData];
- }];
- _orderTable.backgroundColor = UIColor.whiteColor;
- }
- return _orderTable;
- }
- -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
- {
- return 1;
- }
- -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
- {
- return self.models.count;
- }
- -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
- {
- OrderModel *modelsss =self.models[indexPath.row];
- if ([modelsss.status isEqual:@"1"]) {
- return 190;
- }else{
- return 230;
- }
- }
- -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
- {
- OrderModel *models =self.models[indexPath.row];
-
- OrderListCell *cell = [tableView dequeueReusableCellWithIdentifier:@"OrderListCell"];
- //['status'] 订单状态 -1 已关闭 0 待付款 1 待发货 2 待收货 3 待评价 4 已评价 5 退款
- //['is_append_evaluate'] 订单是否可追加评价 1 可以 0 不可以
- //['refund_status'] 退款处理结果 -1 失败 0 处理中 1 成功
- if ([models.status isEqual:@"0"]) {
- if (!cell) {
- cell = [[[NSBundle mainBundle]loadNibNamed:@"OrderListCell" owner:nil options:nil]objectAtIndex:0];
- }
- }else if ([models.status isEqual:@"-1"]){
- if (!cell) {
- cell = [[[NSBundle mainBundle]loadNibNamed:@"OrderListCell" owner:nil options:nil]objectAtIndex:5];
- }
- }else if ([models.status isEqual:@"1"]){
- if (!cell) {
- cell = [[[NSBundle mainBundle]loadNibNamed:@"OrderListCell" owner:nil options:nil]objectAtIndex:1];
- }
- }else if ([models.status isEqual:@"2"]){
- if (!cell) {
- cell = [[[NSBundle mainBundle]loadNibNamed:@"OrderListCell" owner:nil options:nil]objectAtIndex:2];
- }
- }else if ([models.status isEqual:@"3"]){
- if (!cell) {
- cell = [[[NSBundle mainBundle]loadNibNamed:@"OrderListCell" owner:nil options:nil]objectAtIndex:3];
- }
- }else if ([models.status isEqual:@"4"] &&[models.is_append_evaluate isEqual:@"1"]){
- if (!cell) {
- cell = [[[NSBundle mainBundle]loadNibNamed:@"OrderListCell" owner:nil options:nil]objectAtIndex:7];
- }
- }else if ([models.status isEqual:@"4"] &&[models.is_append_evaluate isEqual:@"0"]){
- if (!cell) {
- cell = [[[NSBundle mainBundle]loadNibNamed:@"OrderListCell" owner:nil options:nil]objectAtIndex:8];
- }
- }else if ([models.status isEqual:@"5"] && ![models.refund_status isEqual:@"0"]){
- if (!cell) {
- cell = [[[NSBundle mainBundle]loadNibNamed:@"OrderListCell" owner:nil options:nil]objectAtIndex:4];
- }
- }else if ([models.status isEqual:@"5"] && [models.refund_status isEqual:@"0"]){
- if (!cell) {
- cell = [[[NSBundle mainBundle]loadNibNamed:@"OrderListCell" owner:nil options:nil]objectAtIndex:6];
- }
- }
- cell.backgroundColor = UIColor.whiteColor;
- cell.delegate = self;
- cell.model = models;
- return cell;
- }
- -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
- {
- [tableView deselectRowAtIndexPath:indexPath animated:YES];
- OrderModel *models =self.models[indexPath.row];
- if ([models.status isEqual:@"5"]) {
- BuyerRefundDetailVC *refund = [[BuyerRefundDetailVC alloc]init];
- refund.orderId = models.idStr;
- [[YBBaseAppDelegate sharedAppDelegate]pushViewController:refund animated:YES];
- }else{
- OrderDetailVC *detail = [[OrderDetailVC alloc]init];
- detail.orderId =models.idStr;
- [[YBBaseAppDelegate sharedAppDelegate]pushViewController:detail animated:YES];
- }
- }
- -(void)btnClickWithTitle:(NSString *)titls AndModel:(OrderModel *)models
- {
- if ([titls isEqual:YZMsg(@"删除订单")]) {
- UIAlertController *deleteAlert = [UIAlertController alertControllerWithTitle:YZMsg(@"确定删除订单?") message:nil preferredStyle:UIAlertControllerStyleAlert];
- UIAlertAction *cancle = [UIAlertAction actionWithTitle:YZMsg(@"取消") style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
-
- }];
- UIAlertAction *sureAction = [UIAlertAction actionWithTitle:YZMsg(@"确定") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
- [self deleteOrder:models];
- }];
- [deleteAlert addAction:cancle];
- [deleteAlert addAction:sureAction];
- [cancle setValue:[UIColor lightGrayColor] forKey:@"titleTextColor"];
- [sureAction setValue:Pink_Cor forKey:@"titleTextColor"];
- [self presentViewController:deleteAlert animated:YES completion:nil];
- }else if ([titls isEqual:YZMsg(@"取消订单")]){
- UIAlertController *cancelAlert = [UIAlertController alertControllerWithTitle:YZMsg(@"确定取消订单?") message:nil preferredStyle:UIAlertControllerStyleAlert];
- UIAlertAction *cancle = [UIAlertAction actionWithTitle:YZMsg(@"取消") style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
-
- }];
- UIAlertAction *sureAction = [UIAlertAction actionWithTitle:YZMsg(@"确定") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
- [self cancelOrder:models];
- }];
- [cancelAlert addAction:cancle];
- [cancelAlert addAction:sureAction];
- [cancle setValue:[UIColor lightGrayColor] forKey:@"titleTextColor"];
- [sureAction setValue:Pink_Cor forKey:@"titleTextColor"];
- [self presentViewController:cancelAlert animated:YES completion:nil];
- }else if ([titls isEqual:YZMsg(@"付款")]){
- [self showPayView:models];
- }else if ([titls isEqual:YZMsg(@"查看物流")]){
- [self lookExpress:models];
- }else if ([titls isEqual:YZMsg(@"确认收货")]){
- UIAlertController *cancelAlert = [UIAlertController alertControllerWithTitle:YZMsg(@"确定已收到商品?") message:nil preferredStyle:UIAlertControllerStyleAlert];
- UIAlertAction *cancle = [UIAlertAction actionWithTitle:YZMsg(@"取消") style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
-
- }];
- UIAlertAction *sureAction = [UIAlertAction actionWithTitle:YZMsg(@"确定") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
- [self receiveGoods:models];
- }];
- [cancelAlert addAction:cancle];
- [cancelAlert addAction:sureAction];
- [cancle setValue:[UIColor lightGrayColor] forKey:@"titleTextColor"];
- [sureAction setValue:Pink_Cor forKey:@"titleTextColor"];
- [self presentViewController:cancelAlert animated:YES completion:nil];
- }else if ([titls isEqual:YZMsg(@"评价")]){
- [self evaluate:models];
- }else if ([titls isEqual:YZMsg(@"追加评价")]){
- [self appendEvaluate:models];
- }else if ([titls isEqual:YZMsg(@"退款详情")]){
- // [self appendEvaluate:models];
- [self refundOrderDetail:models];
- }
-
- }
- #pragma mark------退款----------
- -(void)refundOrderDetail:(OrderModel *)model{
- BuyerRefundDetailVC *refund = [[BuyerRefundDetailVC alloc]init];
- refund.orderId = model.idStr;
- [[YBBaseAppDelegate sharedAppDelegate]pushViewController:refund animated:YES];
- }
- #pragma mark ---删除订单---------
- -(void)deleteOrder:(OrderModel *)model{
- NSString *url = [purl stringByAppendingFormat:@"?service=Buyer.delGoodsOrder"];
- NSDictionary *signdic = @{@"uid":[Config getOwnID],@"token":[Config getOwnToken], @"time":[NSNumber numberWithLong: (long)[[NSDate date] timeIntervalSince1970]]};
- NSString *sign = [PublicObj sortString:signdic];
- NSDictionary *dic = @{
- @"uid":[Config getOwnID],
- @"token":[Config getOwnToken],
- @"orderid":model.idStr,
- @"time":[NSNumber numberWithLong: (long)[[NSDate date] timeIntervalSince1970]],
- @"sign":sign
- };
- [YBNetworking postWithUrl:@"Buyer.delGoodsOrder" Dic:dic Suc:^(int code, id info, NSString *msg) {
- if (code ==0) {
- [MBProgressHUD showError:msg];
- pageIndex = 1;
- [self requestOrderData];
- }else{
- [MBProgressHUD showError:msg];
- }
- } Fail:^(id fail) {
-
- }];
- }
- #pragma mark-----取消订单--------
- -(void)cancelOrder:(OrderModel *)model{
- NSString *url = [purl stringByAppendingFormat:@"?service=Buyer.cancelGoodsOrder"];
- NSDictionary *signdic = @{@"uid":[Config getOwnID],@"token":[Config getOwnToken], @"time":[NSNumber numberWithLong: (long)[[NSDate date] timeIntervalSince1970]]};
- NSString *sign = [PublicObj sortString:signdic];
- NSDictionary *dic = @{
- @"uid":[Config getOwnID],
- @"token":[Config getOwnToken],
- @"orderid":model.idStr,
- @"time":[NSNumber numberWithLong: (long)[[NSDate date] timeIntervalSince1970]],
- @"sign":sign
- };
- [YBNetworking postWithUrl:@"Buyer.cancelGoodsOrder" Dic:dic Suc:^(int code, id info, NSString *msg) {
- if (code ==0) {
- [MBProgressHUD showError:msg];
- pageIndex = 1;
- [self requestOrderData];
- }else{
- [MBProgressHUD showError:msg];
- }
- } Fail:^(id fail) {
-
- }];
- }
- -(void)showPayView:(OrderModel *)model{
- YBWeakSelf;
- if (_payView) {
- [_payView removeFromSuperview];
- _payView = nil;
- }
- _payView = [[PayOrderView alloc]initWithPrice:model.price AndOrderId:model.idStr AndShopName:[model.shop_info valueForKey:@"name"]];
- _payView.frame = CGRectMake(0, 0, _window_width, _window_height);
- _payView.hideEvent = ^(BOOL paySuccess) {
- [weakSelf.payView removeFromSuperview];
- weakSelf.payView = nil;
- OrderDetailVC *detail = [[OrderDetailVC alloc]init];
- detail.orderId =model.idStr;
- [[YBBaseAppDelegate sharedAppDelegate]pushViewController:detail animated:YES];
- };
- // _payView.hideEvent = ^{
- // [weakSelf.payView removeFromSuperview];
- // weakSelf.payView = nil;
- // };
- [self.view addSubview:_payView];
- }
- #pragma mark-----查看物流--------
- -(void)lookExpress:(OrderModel *)model{
- NSString *url =[NSString stringWithFormat:@"%@/appapi/express/index",h5url];
- PubH5 *h5VC = [[PubH5 alloc]init];
- h5VC.url = [self addurl:url addModel:model];
- [[YBBaseAppDelegate sharedAppDelegate]pushViewController:h5VC animated:YES];
- }
- //所有h5需要拼接uid和token
- -(NSString *)addurl:(NSString *)url addModel:(OrderModel *)models{
- return [url stringByAppendingFormat:@"&uid=%@&token=%@&orderid=%@&user_type=buyer",[Config getOwnID],[Config getOwnToken],models.idStr];
- }
- #pragma mark------确认收货-------
- -(void)receiveGoods:(OrderModel *)model{
- NSString *url = [purl stringByAppendingFormat:@"?service=Buyer.receiveGoodsOrder"];
- NSDictionary *signdic = @{@"uid":[Config getOwnID],@"token":[Config getOwnToken], @"time":[NSNumber numberWithLong: (long)[[NSDate date] timeIntervalSince1970]]};
- NSString *sign = [PublicObj sortString:signdic];
- NSDictionary *dic = @{
- @"uid":[Config getOwnID],
- @"token":[Config getOwnToken],
- @"orderid":model.idStr,
- @"time":[NSNumber numberWithLong: (long)[[NSDate date] timeIntervalSince1970]],
- @"sign":sign
- };
-
- [YBNetworking postWithUrl:@"Buyer.receiveGoodsOrder" Dic:dic Suc:^(int code, id info, NSString *msg) {
- if (code ==0) {
- [MBProgressHUD showError:msg];
- pageIndex = 1;
- [self requestOrderData];
- }else{
- [MBProgressHUD showError:msg];
- }
- } Fail:^(id fail) {
-
- }];
- }
- #pragma mark-----评价-------
- -(void)evaluate:(OrderModel *)model{
- PublishEvaluateVC *evaluate = [[PublishEvaluateVC alloc]init];
- evaluate.model = model;
- [[YBBaseAppDelegate sharedAppDelegate]pushViewController:evaluate animated:YES];
- }
- #pragma mark------追加评价-------
- -(void)appendEvaluate:(OrderModel *)model{
- AppendEvaluateVC *append = [[AppendEvaluateVC alloc]init];
- append.model = model;
- [[YBBaseAppDelegate sharedAppDelegate]pushViewController:append animated:YES];
- }
- @end
|