// // KWMSelectedGoodsVC.m // iCemarose // // Created by 陈荣科 on 16/8/31. // Copyright © 2016年 kollway. All rights reserved. // #import "KWMSelectedGoodsVC.h" #import "KWMProductDetailVC.h" #import "KWMBeforePayVC.h" #import "KWMMineTitleView.h" #import "KWMStringUtil.h" #import "KWMImageBlurUtil.h" @interface KWMSelectedGoodsVC () @end @implementation KWMSelectedGoodsVC{ UIButton *rightButton; BOOL isSelect; UIView *vStopTap; NSInteger openPosition;//标记展开标尺的pruduct下标 } +(NSString *)kwmTag{ return @"KWMSelectedGoodsVC"; } - (void)viewWillDisappear:(BOOL)animated{ [super viewWillDisappear:animated]; // [_vTitle removeFromSuperview]; } - (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; [self.navigationController setNavigationBarHidden:NO]; } static NSString *idStr = @"KWMBrandCaramelCell"; - (void)viewDidLoad { [super viewDidLoad]; [self initView]; [self reLoadData]; } - (void)initView{ self.collectionSort = BUYCollectionSortCreatedDescending; if(self.productType != nil){ //初始化双行标题栏 NSString *mTitle; if(self.tagType == 0){ mTitle = @"婴儿"; }else if(self.tagType == 1){ mTitle = @"女孩"; }else if(self.tagType == 2){ mTitle = @"男孩"; }else if(self.tagType == 3){ mTitle = @"鞋子"; } KWMDoubleTitleView *doubleTitleView = [[KWMDoubleTitleView alloc] initWithFrame:CGRectMake(0, 0, 200, 40)]; doubleTitleView.lbTitle.text = mTitle; doubleTitleView.lbSecondTitle.text = self.productType.value; self.navigationItem.titleView=doubleTitleView; } openPosition = -1; self.automaticallyAdjustsScrollViewInsets = NO; isSelect = NO; vStopTap = [[UIView alloc] initWithFrame:CGRectMake(0, 20, UI_SCREEN_WIDTH, 44)]; vStopTap.backgroundColor = [UIColor clearColor]; _vHeard.backgroundColor = [UIColor sam_colorWithHex:@"F4F5F7"]; [self initCacheData]; } -(void)initCacheData{ NSNumber *collectionId; NSArray *tags; if(self.collection!=nil){ collectionId = self.collection.identifier; } if(self.productType!=nil){ if(![KWMStringUtil isEmpty:self.productType.collectionId]){ NSInteger num = [self.productType.collectionId integerValue]; collectionId = @(num); } NSString *tag; if(self.tagType == 0){ tag = @"baby"; }else if(self.tagType == 1){ tag = @"girls"; }else if(self.tagType == 2){ tag = @"boys"; }else if(self.tagType == 3){ tag = @"shoes"; } tags = [NSArray arrayWithObjects:tag, nil]; } NSArray *products = [self.userDao getCollectionCache:collectionId tags:tags]; if(products && products.count>0){ [self appendDataList:products setPage:1]; self.currentPage = 0; } } -(UITableView *)targetTableView{ return self.tbvSelectedGoods; } -(void)loadData{ [self requesProductList:self.collectionSort]; } -(void)reLoadData{ self.currentPage = 0; [self requesProductList:self.collectionSort]; } - (void)setAnimatedWith:(CGFloat)moveHeight{ [UIImageView animateWithDuration:1.0 animations:^{ self.vGoodsStyle.frame = CGRectMake(0, moveHeight, UI_SCREEN_WIDTH, 340); } completion:^(BOOL finished) { [vStopTap removeFromSuperview]; if (moveHeight>0) { self.vBackground.hidden = NO; }else{ self.vBackground.hidden = YES; } }]; } #pragma mark -- KWMBrandCaramelCellDelegate //点击左边商品回调 - (void)kwm_onClickLeftIamge:(KWMBrandCaramelCell *)brandCell{ KWMProductDetailVC *productDetailVC = (KWMProductDetailVC*)[KWMBaseVC findControllerBy:[KWMProductDetailVC kwmTag] fromStoryboard:@"New"]; productDetailVC.product = brandCell.leftProduct; [self.navigationController pushViewController:productDetailVC animated:YES]; } //点击右边商品回调 - (void)kwm_onClickRightIamge:(KWMBrandCaramelCell *)brandCell{ KWMProductDetailVC *productDetailVC = (KWMProductDetailVC*)[KWMBaseVC findControllerBy:[KWMProductDetailVC kwmTag] fromStoryboard:@"New"]; productDetailVC.product = brandCell.rightProduct; [self.navigationController pushViewController:productDetailVC animated:YES]; } - (void)kwm_openRule:(BUYProduct *)product Or:(KWMDataProduct *)dataProduct And:(KWMBrandCaramelCell *)brandCell{ if (product == nil) { return; } [self.dataList enumerateObjectsUsingBlock:^(BUYProduct *obj, NSUInteger idx, BOOL * _Nonnull stop) { if ([obj isEqual:product]) { if (openPosition != idx) { openPosition = idx; [self.tbvSelectedGoods reloadData]; } *stop = YES; } }]; dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.05 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ if (openPosition % 2 ) { [brandCell openRule:NO]; }else{ [brandCell openRule:YES]; } }); } #pragma mark -- UITableViewDelegateU - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ if(self.dataList == nil){ return 0; } NSInteger count = self.dataList.count; if(count%2 == 0){ return count/2; }else{ return count/2+1; } } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ KWMBrandCaramelCell *brandCaramelCell = [tableView dequeueReusableCellWithIdentifier:idStr]; if(!brandCaramelCell){ [tableView registerNib:[UINib nibWithNibName:idStr bundle:nil] forCellReuseIdentifier:idStr]; brandCaramelCell = [tableView dequeueReusableCellWithIdentifier:idStr]; } brandCaramelCell.delegate = self; brandCaramelCell.selectionStyle = UITableViewCellSelectionStyleNone; NSInteger position = indexPath.row * 2; if(self.dataList!=nil && self.dataList.count>0){ BUYProduct *leftProduct = [self.dataList objectAtIndex:position]; BUYProduct *rightProduct = self.dataList.count>(position+1)?[self.dataList objectAtIndex:(position+1)]:nil; [brandCaramelCell setData:leftProduct rightProduct:rightProduct]; } return brandCaramelCell; } #pragma mark -- ITableViewDataSource - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ return (UI_SCREEN_WIDTH/2 - 20 + 64); } - (void)requesProductList:(BUYCollectionSort)collectionSort{ if(!self.hasNextPage){ [self showToast:NSLocalizedString(@"WarnLastPage", @"WarnLastPage")]; [self hideLoading]; return; } NSNumber *collectionId; NSArray *tags; if([TestModel isEqualToString:@"YES"]){ //测试 self.collection = [[BUYCollection alloc] init]; self.collection.identifier = @(293330499); } if(self.collection!=nil){ collectionId = self.collection.identifier; } if(self.productType!=nil){ if(![KWMStringUtil isEmpty:self.productType.collectionId]){ NSInteger num = [self.productType.collectionId integerValue]; collectionId = @(num); } NSString *tag; if(self.tagType == 0){ tag = @"baby"; }else if(self.tagType == 1){ tag = @"girls"; }else if(self.tagType == 2){ tag = @"boys"; }else if(self.tagType == 3){ tag = @"shoes"; } tags = [NSArray arrayWithObjects:tag, nil]; } if(collectionId == nil){ return; } [self showLoading]; self.isLoading = YES; __weak KWMSelectedGoodsVC *weakSelf = self; NSInteger tagetPage = self.currentPage.integerValue + 1; [self.client getProductsPage:tagetPage inCollection:collectionId withTags:tags sortOrder:collectionSort completion:^(NSArray *products,NSUInteger page, BOOL reachedEnd, NSError *error){ [weakSelf hideLoading]; if(tagetPage == 1){ [weakSelf.userDao saveCollectionCache:products collectionId:collectionId tags:tags]; } weakSelf.isLoading = NO; if (error == nil && products) { weakSelf.hasNextPage = !reachedEnd; [weakSelf appendDataList:products setPage:page]; } else { [self showError:error]; NSLog(@"Error fetching products: %@", error); } }]; } @end