ProductBillViewController.m 6.72 KB
Newer Older
n22's avatar
n22 committed
1 2 3 4 5 6 7 8
//
//  ProductViewController.m
//  XFFruit
//
//  Created by n22 on 15/8/21.
//  Copyright (c) 2015年 Xummer. All rights reserved.
//

陈俊俊's avatar
陈俊俊 committed
9
#import "ProductBillViewController.h"
n22's avatar
n22 committed
10 11
#import "FooterCell.h"
#import "HeaderCell.h"
陈俊俊's avatar
陈俊俊 committed
12
#import "ProductBillCell.h"
n22's avatar
n22 committed
13
#import "PurchaseBillProduct.h"
n22's avatar
n22 committed
14
#define TableHeight 44
陈俊俊's avatar
陈俊俊 committed
15
#define ShowHeight  100
n22's avatar
n22 committed
16

陈俊俊's avatar
陈俊俊 committed
17
@interface ProductBillViewController ()<UITableViewDataSource,UITableViewDelegate,FooterCellDelegate>
n22's avatar
n22 committed
18 19
{
    CGRect _tableFrame;
陈俊俊's avatar
陈俊俊 committed
20
    NSMutableArray *_selectRowArr;//记录当前选中的cell
n22's avatar
n22 committed
21 22 23
}
@end

陈俊俊's avatar
陈俊俊 committed
24
@implementation ProductBillViewController
n22's avatar
n22 committed
25 26 27 28 29

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor  = XXFBgColor;
    [super viewDidLoad];
陈俊俊's avatar
陈俊俊 committed
30 31 32 33 34
    [self initData];
    [self createView];
}
- (void)initData{
    _selectRowArr = [[NSMutableArray alloc]init];
陈俊俊's avatar
陈俊俊 committed
35 36 37
    if (!self.productArr) {
        self.productArr = [NSMutableArray array];
    }
陈俊俊's avatar
陈俊俊 committed
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
//    PurchaseBillProduct *billProduct = [PurchaseBillProduct new];
//
//    billProduct.product_name = @"dd";
//    billProduct.product_uuid  = @"402880e64e287fe2014e28895b8a0032";
//    billProduct.product_code = @"农夫山泉";
//    billProduct.qpc = [NSNumber numberWithFloat:22];
//    billProduct.unit = @"筐";
//    billProduct.qty = [NSNumber numberWithFloat:23];
//    billProduct.price = [NSNumber numberWithFloat:333];
//    billProduct.baseQty = [NSNumber numberWithFloat:333];
//    billProduct.basePrice = [NSNumber numberWithFloat:33];
//    billProduct.total = [NSNumber numberWithFloat:25];
//    billProduct.remark = @"hshshshsh";
//    billProduct.qpcStr = @"fdsfdsfdsa";
//    [self.productArr addObject:billProduct];
//    [self.productArr addObject:billProduct];
    if (self.productArr.count > 0) {
         [[NSNotificationCenter defaultCenter] postNotificationName:SetProductTotalPrice object:nil];
    }
n22's avatar
n22 committed
57
}
陈俊俊's avatar
陈俊俊 committed
58

n22's avatar
n22 committed
59 60 61 62 63 64 65 66 67 68
- (void)setViewFrame:(CGRect)viewFrame{
    _tableFrame = viewFrame;
}
- (void)createView{
    self.tableView = [[UITableView alloc]initWithFrame:_tableFrame style:(UITableViewStylePlain)];
    self.tableView.delegate = self;
    self.tableView.dataSource = self;
    self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
    [self.view addSubview:self.tableView];
    
陈俊俊's avatar
陈俊俊 committed
69
    NSArray *arr = @[@"商品",@"单价",@"包装数量"];
n22's avatar
n22 committed
70 71 72 73 74
    
    HeaderCell *headCell = [[HeaderCell alloc]initWithFrame:CGRectMake(0, 0, ScreenSize.width, 38) withArr:arr];
    [self.view addSubview:headCell];
    self.tableView.tableHeaderView = headCell;
    
陈俊俊's avatar
陈俊俊 committed
75 76 77 78 79 80
    if (!self.isHiddenEdit) {
        FooterCell *footCell = [[FooterCell alloc]initWithFrame:CGRectMake(0, 0, _tableFrame.size.width, 50) withTitle:@"+点击添加商品明细"];
        [self.view addSubview:footCell];
        footCell.delegate = self;
        self.tableView.tableFooterView = footCell;
    }
n22's avatar
n22 committed
81
}
n22's avatar
n22 committed
82
#pragma mark - footerDelegate
n22's avatar
n22 committed
83
- (void)addClick{
n22's avatar
n22 committed
84 85 86

}

n22's avatar
n22 committed
87 88 89 90 91 92 93 94 95

#pragma mark - 协议方法
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return self.productArr.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
陈俊俊's avatar
陈俊俊 committed
96 97
    static NSString *cellID = @"ProductBillCell";
    ProductBillCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
n22's avatar
n22 committed
98
    if (cell == nil) {
陈俊俊's avatar
陈俊俊 committed
99
        cell = [[ProductBillCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID];
n22's avatar
n22 committed
100
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
陈俊俊's avatar
陈俊俊 committed
101 102 103
        if (self.isHiddenEdit) {
            cell.editBtn.hidden = YES;
        }
n22's avatar
n22 committed
104
    }
陈俊俊's avatar
陈俊俊 committed
105
    if ([self isHaveIndexPath:indexPath]) {
n22's avatar
n22 committed
106 107
        cell.smallImageView.image = [UIImage imageNamed:@"arrowdown"];
        CGRect Linefrmame = cell.lineLabel.frame;
陈俊俊's avatar
陈俊俊 committed
108
        Linefrmame.origin.y = ShowHeight + TableHeight -1;
n22's avatar
n22 committed
109 110
        cell.lineLabel.frame = Linefrmame;
        CGRect showfrmame = cell.showView.frame;
陈俊俊's avatar
陈俊俊 committed
111
        showfrmame.size.height = ShowHeight;
n22's avatar
n22 committed
112 113
        cell.showView.frame = showfrmame;
        cell.backgroundColor = XXFBgColor;
陈俊俊's avatar
陈俊俊 committed
114 115 116 117 118 119 120 121 122
    }else{
        cell.smallImageView.image = [UIImage imageNamed:@"arrowright"];
        CGRect Linefrmame = cell.lineLabel.frame;
        Linefrmame.origin.y = TableHeight-1;
        cell.lineLabel.frame = Linefrmame;
        CGRect showfrmame = cell.showView.frame;
        showfrmame.size.height = 0;
        cell.showView.frame = showfrmame;
        cell.backgroundColor = [UIColor whiteColor];
n22's avatar
n22 committed
123
    }
n22's avatar
n22 committed
124 125
    cell.editBtn.tag = indexPath.row;
    [cell.editBtn addTarget:self action:@selector(editClick:) forControlEvents:UIControlEventTouchUpInside];
陈俊俊's avatar
陈俊俊 committed
126 127 128 129 130 131 132
    
    if (self.productArr.count > 0) {
        PurchaseBillProduct *billP = self.productArr[indexPath.row];
        [cell setBillProduct:billP row:indexPath.row];
    }
    
    
n22's avatar
n22 committed
133 134
    return cell;
}
陈俊俊's avatar
陈俊俊 committed
135 136 137 138 139 140 141 142
- (BOOL)isHaveIndexPath:(NSIndexPath *)indexPath{
    for (NSIndexPath *path in _selectRowArr) {
        if (path.row == indexPath.row) {
            return YES;
        }
    }
    return NO;
}
n22's avatar
n22 committed
143 144
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
陈俊俊's avatar
陈俊俊 committed
145
    ProductBillCell *cell = (ProductBillCell *)[tableView cellForRowAtIndexPath:indexPath];
n22's avatar
n22 committed
146 147 148 149 150
    CGRect Linefrmame = cell.lineLabel.frame;
    CGRect showfrmame = cell.showView.frame;
    if (Linefrmame.origin.y == TableHeight - 1) {
        cell.smallImageView.image = [UIImage imageNamed:@"arrowdown"];

陈俊俊's avatar
陈俊俊 committed
151 152
        Linefrmame.origin.y = ShowHeight + TableHeight - 1;
        showfrmame.size.height = ShowHeight;
n22's avatar
n22 committed
153
        cell.backgroundColor = [UIColor whiteColor];
陈俊俊's avatar
陈俊俊 committed
154
        [_selectRowArr addObject:indexPath];
n22's avatar
n22 committed
155 156 157 158 159
    }else{
        cell.smallImageView.image = [UIImage imageNamed:@"arrowright"];
        Linefrmame.origin.y = TableHeight -1;
        showfrmame.size.height = 0;
        cell.backgroundColor = [UIColor whiteColor];
陈俊俊's avatar
陈俊俊 committed
160
        [_selectRowArr removeObject:indexPath];
n22's avatar
n22 committed
161 162 163 164 165 166
    }
    cell.lineLabel.frame = Linefrmame;
    cell.showView.frame = showfrmame;
    [self.tableView reloadData];
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
陈俊俊's avatar
陈俊俊 committed
167
    if ([self isHaveIndexPath:indexPath]) {
陈俊俊's avatar
陈俊俊 committed
168
        return ShowHeight + TableHeight;
n22's avatar
n22 committed
169 170 171
    }
    return TableHeight;
}
n22's avatar
n22 committed
172 173 174 175 176 177 178 179

- (void)editClick:(UIButton *)btn{
    UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"" message:@"哈哈" delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
    [alert show];
}



n22's avatar
n22 committed
180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

/*
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
*/

@end