NewPurchaseNoticeViewController.m 26.5 KB
Newer Older
朱朝吉's avatar
朱朝吉 committed
1 2 3 4 5 6 7 8 9
//
//  NewPurchaseNoticeViewController.m
//  XFFruit
//
//  Created by mac on 15/8/16.
//  Copyright (c) 2015年 Xummer. All rights reserved.
//

#import "NewPurchaseNoticeViewController.h"
zhu's avatar
zhu committed
10
#import "PurchaseNoticeViewController.h"
朱朝吉's avatar
朱朝吉 committed
11 12
#import "SurveyCell.h"
#import "HPGrowingTextView.h"
zhu's avatar
zhu committed
13
#import "SeePurchaseNoticeViewController.h"
朱朝吉's avatar
朱朝吉 committed
14 15 16
#import "ChosePersonViewController.h"
#import "SurveyUser.h"
#import "PurchaseNoticeCell.h"
陈俊俊's avatar
陈俊俊 committed
17 18
#import "NoticeProductViewController.h"
#import "NoticeProduct.h"
陈俊俊's avatar
陈俊俊 committed
19
#import "StartTimeView.h"
zhu's avatar
zhu committed
20
#import "PurchaseBillProduct.h"
朱朝吉's avatar
朱朝吉 committed
21
#define LeftMargin 15
zhu's avatar
zhu committed
22 23 24
#define LeftWidth 40
#define RightWidth 30
#define SpaceMargin 1
朱朝吉's avatar
朱朝吉 committed
25 26 27 28 29 30 31 32
#define BtnHeight 44
#define TableHeight 46
#define CornerRadius 5
#define TitleSize 15
#define BtnSize 19
#define TotalHeight 432
#define KeyboardHeight 258
#define DateViewHeight 300
zhu's avatar
zhu committed
33
#define FootOfsetHeight 140
zhu's avatar
zhu committed
34 35
#define BottomViewHeight 60

zhu's avatar
zhu committed
36

zhu's avatar
zhu committed
37 38 39 40
typedef enum : NSUInteger {
    SaveTag = 8000,
    CommitTag,
} BtnTag;
陈俊俊's avatar
陈俊俊 committed
41
@interface NewPurchaseNoticeViewController()<UITableViewDataSource,UITableViewDelegate,UITextFieldDelegate,HPGrowingTextViewDelegate,UIAlertViewDelegate,StartTimeViewDelegate>
朱朝吉's avatar
朱朝吉 committed
42
{
陈俊俊's avatar
陈俊俊 committed
43
    NSString *_clickState;
朱朝吉's avatar
朱朝吉 committed
44 45
    UITableView *_tableView;
    NSMutableArray *_dataArr;
zhu's avatar
zhu committed
46
    NSMutableArray *_shopeArr;
朱朝吉's avatar
朱朝吉 committed
47 48
    UITextField *_titleField;
    UILabel *_personLabel;
陈俊俊's avatar
陈俊俊 committed
49
    UILabel *_finishDateLabel;
朱朝吉's avatar
朱朝吉 committed
50
    HPGrowingTextView *_noteTextView;
zhu's avatar
zhu committed
51
    NSIndexPath *selectedCellIndexPath;
zhu's avatar
zhu committed
52
    NSMutableArray *selectCellAry;
朱朝吉's avatar
朱朝吉 committed
53
    UITableView *mingXiTableView;
zhu's avatar
zhu committed
54 55 56 57
    id uuidObject;
    id billNumberObject;
    NSNumber *versionObject;
    NSString *title;
陈俊俊's avatar
陈俊俊 committed
58
    StartTimeView *_startTimeView;
zhu's avatar
zhu committed
59
    
朱朝吉's avatar
朱朝吉 committed
60 61
}
@property (nonatomic,strong)NSString *titleStr;
陈俊俊's avatar
陈俊俊 committed
62 63 64
@property (nonatomic,strong)NSString *purchaseCodeStr;
@property (nonatomic,strong)NSString *purchaseNameStr;
@property (nonatomic,strong)NSString *purchaseUuidStr;
朱朝吉's avatar
朱朝吉 committed
65
@property (nonatomic,strong)NSString *remarkStr;
陈俊俊's avatar
陈俊俊 committed
66
@property (nonatomic,strong)NSString *finishDateStr;
zhu's avatar
zhu committed
67

zhu's avatar
zhu committed
68 69 70
@property (nonatomic,strong)UILabel *HeardLabel;
@property (nonatomic,strong)UILabel *FootLabel;
@property (nonatomic,strong)UIButton *addDetailedButton;
陈俊俊's avatar
陈俊俊 committed
71
@property (nonatomic,strong)NSMutableArray *selectUsers;
zhu's avatar
zhu committed
72

陈俊俊's avatar
陈俊俊 committed
73
@property (nonatomic,strong)NSString *purchaseNoticeUuid;
朱朝吉's avatar
朱朝吉 committed
74

朱朝吉's avatar
朱朝吉 committed
75 76 77 78 79 80 81

@end

@implementation NewPurchaseNoticeViewController

- (void)viewDidLoad {
    [super viewDidLoad];
陈俊俊's avatar
陈俊俊 committed
82
    [self setupSubviews];
zhu's avatar
zhu committed
83 84 85 86
    //数据默认值
    uuidObject = [NSNull null];
    billNumberObject = [NSNull null];
    versionObject = [NSNumber numberWithInteger:0];
陈俊俊's avatar
陈俊俊 committed
87
    if (self.purchaseNotice) {
陈俊俊's avatar
陈俊俊 committed
88
        self.purchaseNoticeUuid = self.purchaseNotice.uuid;
陈俊俊's avatar
陈俊俊 committed
89 90
        [self getDataFromServer];
    }
朱朝吉's avatar
朱朝吉 committed
91
}
陈俊俊's avatar
陈俊俊 committed
92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
- (void)getDataFromServer{
    __weak typeof(self)weakSelf = self;
    void(^succ)(id) = ^(id data) {
        [IBTLoadingView hideHUDWithText:nil];
        __strong __typeof(weakSelf)strongSelf = weakSelf;
        if (data) {
            NSInteger success = [data[@"success"] integerValue];
            NSString *message  = data[@"message"] ;
            if (success == 1) {
                NSDictionary *dictData = data[@"data"];
                PurchaseNotice *purchaseNotice = [[PurchaseNotice alloc]init];
                [purchaseNotice setValuesForKeysWithDictionary:dictData];
                 strongSelf.purchaseNotice = purchaseNotice;
                [strongSelf prepareDataInCell];
            }else{
                [IBTLoadingView showTips:message];
            }
        }else{
            [IBTLoadingView showTips:@"     无记录     "];
        }
    };
    void(^fail)(id) = ^(id data) {
        [IBTLoadingView hideHUDWithText:nil];
        [IBTLoadingView showTips:data];
    };
    [IBTLoadingView showProgressLabel:@"正在加载..."];
陈俊俊's avatar
陈俊俊 committed
118
    [[ICRHTTPController sharedController] getPurchaseNoticeDetailedWithPurchaseUuid:self.purchaseNoticeUuid success:succ failure:fail];
陈俊俊's avatar
陈俊俊 committed
119 120 121 122 123 124 125 126 127 128 129 130 131
}
- (void)prepareDataInCell{
    if (self.purchaseNotice) {
        if (self.purchaseNotice.title.length > 0) {
            _titleField.text = self.purchaseNotice.title;
            self.titleStr = self.purchaseNotice.title;
        }
        if (self.purchaseNotice.purchaserName.length > 0) {
            _personLabel.text = self.purchaseNotice.purchaserName;
            _personLabel.textColor = GXF_CONTENT_COLOR;
            self.purchaseUuidStr = self.purchaseNotice.purchaserUuid;
            self.purchaseCodeStr = self.purchaseNotice.purchaserCode;
            self.purchaseNameStr = self.purchaseNotice.purchaserName;
陈俊俊's avatar
陈俊俊 committed
132
            [self.selectUsers addObject:self.purchaseNotice.purchaserUuid];
陈俊俊's avatar
陈俊俊 committed
133
        }
陈俊俊's avatar
陈俊俊 committed
134 135 136 137 138 139 140
        if (self.purchaseNotice.finishDate) {
            if (self.purchaseNotice.finishDate.length > 9) {
                _finishDateLabel.text = [[IBTCommon checkString:self.purchaseNotice.finishDate]substringToIndex:10];
            }
            _finishDateLabel.textColor = GXF_CONTENT_COLOR;
            self.finishDateStr = [IBTCommon checkString:self.purchaseNotice.finishDate];
        }
陈俊俊's avatar
陈俊俊 committed
141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
        if (self.purchaseNotice.remark) {
            _noteTextView.text = self.purchaseNotice.remark;
            self.remarkStr = self.purchaseNotice.remark;
        }
    }
    NSMutableArray *arr = [NSMutableArray array];
    for (NSDictionary *productDict in self.purchaseNotice.products) {
        NoticeProduct *billProduct = [[NoticeProduct alloc]init];
        [billProduct setValuesForKeysWithDictionary:productDict];
        [arr addObject:billProduct];
    }
    _shopeArr = arr;
    [mingXiTableView reloadData];
}



朱朝吉's avatar
朱朝吉 committed
158 159
-(void)setupSubviews
{
zhu's avatar
zhu committed
160
    selectCellAry=[[NSMutableArray alloc]initWithCapacity:1000];
陈俊俊's avatar
陈俊俊 committed
161 162
    self.selectUsers = [NSMutableArray array];

陈俊俊's avatar
陈俊俊 committed
163 164
    _dataArr=[[NSMutableArray alloc]initWithObjects:@"标题:",@"采购员:",@"要求采购完成时间:",@"备注:", nil];
    _shopeArr=[[NSMutableArray alloc]init];
朱朝吉's avatar
朱朝吉 committed
165 166
    self.view.backgroundColor  = XXFBgColor;
    
陈俊俊's avatar
陈俊俊 committed
167
    _tableView = [[UITableView alloc]initWithFrame:(CGRectMake(0, LeftMargin,ScreenSize.width, ScreenSize.height/3)) style:(UITableViewStylePlain)];
朱朝吉's avatar
朱朝吉 committed
168 169 170 171
    _tableView.backgroundColor = [UIColor whiteColor];
    _tableView.tag=1001;
    _tableView.delegate = self;
    _tableView.dataSource = self;
zhu's avatar
zhu committed
172
    
陈俊俊's avatar
陈俊俊 committed
173
    mingXiTableView=[[UITableView alloc]initWithFrame:CGRectMake(0, 2*LeftMargin+_tableView.frame.size.height, ScreenSize.width, ScreenSize.height-_tableView.height-ScreenSize.height/6 - 50)];
zhu's avatar
zhu committed
174
    mingXiTableView.backgroundColor = [UIColor whiteColor];
朱朝吉's avatar
朱朝吉 committed
175 176 177 178
    mingXiTableView.tag=1002;
    mingXiTableView.delegate=self;
    mingXiTableView.dataSource=self;
    
zhu's avatar
zhu committed
179 180
    UIView *footView2=[[UIView alloc]initWithFrame:CGRectMake(0, 0, ScreenSize.width, TableHeight)];
    footView2.backgroundColor=[UIColor clearColor];
zhu's avatar
zhu committed
181
    NSArray *ary=[NSArray arrayWithObjects:@"商品",@"包装规格",@"包装数量", nil];
zhu's avatar
zhu committed
182
    //    NSArray *ary=[NSArray arrayWithObjects: nil];
zhu's avatar
zhu committed
183
    CGFloat gipWidth = (ScreenSize.width-LeftWidth-RightWidth)/3;
zhu's avatar
zhu committed
184 185 186 187
    
    for (int i=0; i< ary.count;i++ ) {
        UILabel *lable=[[UILabel alloc]init];
        if (i==0) {
zhu's avatar
zhu committed
188
            lable.frame=CGRectMake(LeftWidth, 0, gipWidth,TableHeight);
zhu's avatar
zhu committed
189 190
        }
        if (i==1) {
zhu's avatar
zhu committed
191
            lable.frame=CGRectMake(LeftWidth+gipWidth+1, 0, gipWidth,TableHeight);
zhu's avatar
zhu committed
192 193
        }
        if (i==2) {
zhu's avatar
zhu committed
194
            lable.frame=CGRectMake(LeftWidth+2*gipWidth+2, 0, gipWidth,TableHeight);
zhu's avatar
zhu committed
195
        }
zhu's avatar
zhu committed
196
        
zhu's avatar
zhu committed
197
        //        UILabel *lable=[[UILabel alloc]initWithFrame:CGRectMake(LeftWidth + (SpaceMargin + headWidth)*i,0, headWidth, 50)];
zhu's avatar
zhu committed
198
        lable.text=[ary objectAtIndex:i];
陈俊俊's avatar
陈俊俊 committed
199 200
        lable.textColor=GXF_PLACEHOLDER_COLOR;
        lable.font = GXF_FIFTEENTEN_SIZE;
zhu's avatar
zhu committed
201 202
        [footView2 addSubview:lable];
    }
zhu's avatar
zhu committed
203
    
陈俊俊's avatar
陈俊俊 committed
204 205 206 207 208 209 210 211
    UIButton *addBtn = [UIButton buttonWithType:UIButtonTypeCustom];
    addBtn.frame = CGRectMake(ScreenSize.width - LeftWidth - SpaceMargin, 0, LeftWidth, 40);
    [addBtn setImage:[UIImage imageNamed:@"add"] forState:UIControlStateNormal];
    [addBtn setTitleColor:GXF_PLACEHOLDER_COLOR forState:UIControlStateNormal];
    [addBtn addTarget:self action:@selector(addShopeDetailed) forControlEvents:UIControlEventTouchUpInside];
    addBtn.titleLabel.font = GXF_FIFTEENTEN_SIZE;
    [footView2 addSubview:addBtn];
    
zhu's avatar
zhu committed
212 213 214
    UIView *footView3 = [[UIView alloc]initWithFrame:CGRectMake(0, 0, ScreenSize.width, TableHeight)];
    footView3.backgroundColor=[UIColor clearColor];
    self.addDetailedButton=[UIButton  buttonWithType: UIButtonTypeCustom];
zhu's avatar
zhu committed
215
    [self.addDetailedButton  setFrame:CGRectMake(0, 0, ScreenSize.width, TableHeight)];
zhu's avatar
zhu committed
216
    [self.addDetailedButton setTitle:@"+ 点击添加商品明细" forState:UIControlStateNormal];
陈俊俊's avatar
陈俊俊 committed
217
    self.addDetailedButton.titleLabel.font = GXF_FIFTEENTEN_SIZE;
zhu's avatar
zhu committed
218
    [self.addDetailedButton addTarget:self action:@selector(addShopeDetailed) forControlEvents:UIControlEventTouchUpInside];
陈俊俊's avatar
陈俊俊 committed
219
    [self.addDetailedButton setTitleColor:GXF_PLACEHOLDER_COLOR forState:UIControlStateNormal];
zhu's avatar
zhu committed
220 221 222 223 224 225 226
    self.FootLabel=[[UILabel alloc]initWithFrame:(CGRectMake(LeftMargin, footView3.size.height-1, footView3.size.width-2*LeftMargin, 1))];
    self.FootLabel.backgroundColor = HexColor(@"e5e5e5");
    self.FootLabel.font = FontSize(TitleSize);
    self.HeardLabel=[[UILabel alloc]initWithFrame:(CGRectMake(LeftMargin, 0, footView3.size.width-2*LeftMargin, 1))];
    self.HeardLabel.backgroundColor = HexColor(@"e5e5e5");
    self.HeardLabel.font = FontSize(TitleSize);
    //HexColor(@"e5e5e5")
zhu's avatar
zhu committed
227
    
zhu's avatar
zhu committed
228 229 230 231 232 233 234 235 236
    
    UIView *footView4 = [[UIView alloc]initWithFrame:CGRectMake(0, ScreenSize.height - BottomViewHeight - 64, ScreenSize.width, BottomViewHeight)];
    UIButton *saveBtn =  [IBTCustomButtom creatButtonWithFrame:CGRectMake(15, 8, (ScreenSize.width - 15*3)/2, 44) target:self sel:@selector(btnClick:) tag:SaveTag image:nil title:@"保存" titleColor: [UIColor whiteColor] isCorner:YES corner:5 bgColor:HexColor(@"50bd62")];
    [footView4 addSubview:saveBtn];
    
    UIButton *commitBtn = [IBTCustomButtom creatButtonWithFrame:CGRectMake(CGRectGetMaxX(saveBtn.frame) + 15, 8, (ScreenSize.width - 15*3)/2, 44) target:self sel:@selector(btnClick:) tag:CommitTag image:nil title:@"提交" titleColor: [UIColor whiteColor] isCorner:YES corner:5 bgColor:HexColor(@"f69100")];
    [footView4 addSubview:commitBtn];
    
    [self.view addSubview:footView4];
zhu's avatar
zhu committed
237 238 239 240 241 242 243
    [footView3 addSubview:self.addDetailedButton];
    [footView3 addSubview:self.HeardLabel];
    [footView3 addSubview:self.FootLabel];
    
    mingXiTableView.tableFooterView = footView3;
    mingXiTableView.tableHeaderView=footView2;
    [self.view addSubview:_tableView];
朱朝吉's avatar
朱朝吉 committed
244
    [self.view addSubview:mingXiTableView];
zhu's avatar
zhu committed
245
    [self.view addSubview:footView4];
zhu's avatar
zhu committed
246
    
朱朝吉's avatar
朱朝吉 committed
247 248 249 250 251 252 253 254
}

#pragma mark - 协议方法
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    if ([tableView isEqual:_tableView]) {
        return 1;
    }else if ([tableView isEqual:mingXiTableView])
    {
zhu's avatar
zhu committed
255
        return 1;
朱朝吉's avatar
朱朝吉 committed
256 257 258 259 260 261
    }
    
    return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    if ([tableView isEqual:_tableView]) {
zhu's avatar
zhu committed
262
        return _dataArr.count;
朱朝吉's avatar
朱朝吉 committed
263 264
    }else if ([tableView isEqual:mingXiTableView])
    {
zhu's avatar
zhu committed
265
        return _shopeArr.count;
朱朝吉's avatar
朱朝吉 committed
266 267 268 269 270
    }
    return 1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    if ([tableView isEqual:_tableView]) {
zhu's avatar
zhu committed
271
        
陈俊俊's avatar
陈俊俊 committed
272
        static NSString *cellID = @"SurveyCell";
zhu's avatar
zhu committed
273 274 275 276 277 278 279 280 281
        SurveyCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
        
        if (cell == nil) {
            cell = [[SurveyCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID];
            tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
            cell.selectionStyle = UITableViewCellSelectionStyleNone;
            if (indexPath.row >0 && indexPath.row < _dataArr.count - 1) {
                cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
            }
陈俊俊's avatar
陈俊俊 committed
282
            cell.titleLabel.width = 130;
zhu's avatar
zhu committed
283
            [self createViewInCell:cell indexPath:indexPath];
朱朝吉's avatar
朱朝吉 committed
284
        }
zhu's avatar
zhu committed
285 286
        [cell setTitleStr:_dataArr[indexPath.row]];
        return cell;
朱朝吉's avatar
朱朝吉 committed
287 288 289
    }else if ([tableView isEqual:mingXiTableView])
    {
        
陈俊俊's avatar
陈俊俊 committed
290
        static NSString *CellID = @"PurchaseNoticeCell";
朱朝吉's avatar
朱朝吉 committed
291 292 293 294 295
        PurchaseNoticeCell *Cell = [tableView dequeueReusableCellWithIdentifier:CellID];
        if (Cell == nil) {
            Cell = [[PurchaseNoticeCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellID];
            tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
            Cell.selectionStyle = UITableViewCellSelectionStyleNone;
zhu's avatar
zhu committed
296
        }
zhu's avatar
zhu committed
297
        [self  showShopDetail:Cell indexPath:indexPath];
陈俊俊's avatar
陈俊俊 committed
298
        if ([self comperIndexpath:indexPath]) {
zhu's avatar
zhu committed
299 300 301 302 303 304 305 306 307 308 309 310
            Cell.arrowView.image = [UIImage imageNamed:@"arrowdown"];
            Cell.backgroundColor=XXFBgColor;
            Cell.subSview.hidden=NO;
        }else
        {
            Cell.arrowView.image = [UIImage imageNamed:@"arrowright"];
            Cell.backgroundColor=[UIColor whiteColor];
            Cell.subSview.hidden=YES;
            
        }
        Cell.button.tag=indexPath.row;
        [Cell.button addTarget:self action:@selector(didtoucher:) forControlEvents:UIControlEventTouchUpInside];
朱朝吉's avatar
朱朝吉 committed
311
        return Cell;
zhu's avatar
zhu committed
312
        
朱朝吉's avatar
朱朝吉 committed
313 314 315 316 317
    }
    return nil;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    if ([tableView isEqual:_tableView]) {
陈俊俊's avatar
陈俊俊 committed
318
        return TableHeight;
朱朝吉's avatar
朱朝吉 committed
319 320
    }else if ([tableView isEqual:mingXiTableView])
    {
zhu's avatar
zhu committed
321 322 323 324 325 326 327
        if ([self  comperIndexpath:indexPath]) {
            return TableHeight*3;
        }else
        {
            return TableHeight;
        }
        
朱朝吉's avatar
朱朝吉 committed
328 329 330 331 332 333
    }
    return TableHeight;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    if ([tableView isEqual:_tableView]) {
        
陈俊俊's avatar
陈俊俊 committed
334
        if(indexPath.row == 1){
zhu's avatar
zhu committed
335
            ChosePersonViewController *cvc = [ChosePersonViewController new];
陈俊俊's avatar
陈俊俊 committed
336 337 338
            if (self.selectUsers.count > 0) {
                cvc.selectArr = self.selectUsers;
            }
zhu's avatar
zhu committed
339
            cvc.choseBaseInfo = ^(NSArray *users){
陈俊俊's avatar
陈俊俊 committed
340
                if (users.count > 0) {
陈俊俊's avatar
陈俊俊 committed
341 342 343
                    if (self.selectUsers.count > 0) {
                        [self.selectUsers removeAllObjects];
                    }
陈俊俊's avatar
陈俊俊 committed
344 345 346 347 348 349
                    SurveyUser *user = users[0];
                    _personLabel.text = user.userName;
                    _personLabel.textColor = GXF_CONTENT_COLOR;
                    self.purchaseNameStr = user.userName;
                    self.purchaseCodeStr = user.userCode;
                    self.purchaseUuidStr = user.userUuid;
陈俊俊's avatar
陈俊俊 committed
350
                    [self.selectUsers addObject:user.userUuid];
zhu's avatar
zhu committed
351 352 353 354
                }
            };
            cvc.isMoreChose = NO;
            [self PushViewController:cvc animated:YES];
陈俊俊's avatar
陈俊俊 committed
355 356
        }else if(indexPath.row == 2){
            [self startDatePickView];
zhu's avatar
zhu committed
357
        }
zhu's avatar
zhu committed
358 359 360
    }else if ([tableView isEqual:mingXiTableView])
    {
        PurchaseNoticeCell *Cell=(PurchaseNoticeCell*)[mingXiTableView cellForRowAtIndexPath:indexPath ];
陈俊俊's avatar
陈俊俊 committed
361
        if (![self comperIndexpath:indexPath]) {
zhu's avatar
zhu committed
362
            Cell.isSelected=YES;
陈俊俊's avatar
陈俊俊 committed
363
            Cell.subSview.hidden = NO;
zhu's avatar
zhu committed
364 365 366
            [selectCellAry addObject:indexPath];
        }else{
            Cell.isSelected=NO;
陈俊俊's avatar
陈俊俊 committed
367
            Cell.subSview.hidden = YES;
zhu's avatar
zhu committed
368 369
            [selectCellAry removeObject:indexPath];
        }
zhu's avatar
zhu committed
370
        selectedCellIndexPath = indexPath;
zhu's avatar
zhu committed
371
        [mingXiTableView reloadData];
朱朝吉's avatar
朱朝吉 committed
372 373 374 375 376 377
    }
}


-  (void)createViewInCell:(SurveyCell *)cell indexPath:(NSIndexPath *)indexPath{
    if (indexPath.row == 0) {
陈俊俊's avatar
陈俊俊 committed
378
        _titleField = [[UITextField alloc] initWithFrame:CGRectMake(cell.titleLabel.right, 0, ScreenSize.width - cell.titleLabel.width - LeftMargin*2-15, TableHeight)];
朱朝吉's avatar
朱朝吉 committed
379
        _titleField.textAlignment = NSTextAlignmentRight;
zhu's avatar
zhu committed
380
        _titleField.textColor = GXF_CONTENT_COLOR;
陈俊俊's avatar
陈俊俊 committed
381
        _titleField.placeholder = @"输入采购通知单标题";
朱朝吉's avatar
朱朝吉 committed
382 383 384
        _titleField.font = FontSize(15);
        _titleField.returnKeyType = UIReturnKeyDone;
        _titleField.delegate = self;
zhu's avatar
zhu committed
385
        title=_titleField.text;
朱朝吉's avatar
朱朝吉 committed
386
        [cell.contentView addSubview:_titleField];
zhu's avatar
zhu committed
387
        
朱朝吉's avatar
朱朝吉 committed
388
    }else if (indexPath.row == _dataArr.count -1){
陈俊俊's avatar
陈俊俊 committed
389
        _noteTextView = [[HPGrowingTextView alloc] initWithFrame:CGRectMake(cell.titleLabel.right, 0, ScreenSize.width - cell.titleLabel.width - LeftMargin*2-15, TableHeight)];
朱朝吉's avatar
朱朝吉 committed
390 391
        _noteTextView.contentInset = UIEdgeInsetsMake(5, 5, 5, 0);
        _noteTextView.minNumberOfLines = 1;
陈俊俊's avatar
陈俊俊 committed
392 393
        _noteTextView.maxNumberOfLines = 1;
        _noteTextView.isScrollable = YES;
朱朝吉's avatar
朱朝吉 committed
394 395 396 397 398 399
        _noteTextView.font = FontSize(15);
        _noteTextView.textAlignment = NSTextAlignmentRight;
        _noteTextView.delegate = self;
        _noteTextView.returnKeyType = UIReturnKeyDone;
        _noteTextView.placeholder = @"输入备注内容";
        [cell.contentView addSubview:_noteTextView];
陈俊俊's avatar
陈俊俊 committed
400 401 402
//        CGRect lineFrame =  cell.lineLabel.frame;
//        lineFrame.origin.y = TableHeight*2-1;
//        cell.lineLabel.frame = lineFrame;
朱朝吉's avatar
朱朝吉 committed
403
    }else{
陈俊俊's avatar
陈俊俊 committed
404
        UILabel *contentLabel = [[UILabel alloc]initWithFrame:(CGRectMake(cell.titleLabel.right, 0, ScreenSize.width - cell.titleLabel.width - LeftMargin*2-15, TableHeight))];
朱朝吉's avatar
朱朝吉 committed
405
        contentLabel.textAlignment= NSTextAlignmentRight;
zhu's avatar
zhu committed
406
        contentLabel.textColor = GXF_PLACEHOLDER_COLOR;
朱朝吉's avatar
朱朝吉 committed
407 408 409 410 411
        contentLabel.font = FontSize(TitleSize);
        [cell.contentView addSubview:contentLabel];
        if (indexPath.row == 1) {
            contentLabel.text = @"选择采购员";
            _personLabel = contentLabel;
陈俊俊's avatar
陈俊俊 committed
412 413 414
        }else if(indexPath.row == 2){
            contentLabel.text = @"选择要求完成日期";
            _finishDateLabel = contentLabel;
朱朝吉's avatar
朱朝吉 committed
415 416
        }
    }
zhu's avatar
zhu committed
417
}
zhu's avatar
zhu committed
418 419 420 421 422 423 424 425 426
-(BOOL)comperIndexpath:(NSIndexPath *)indexPath
{
    for (NSIndexPath *path in selectCellAry) {
        if (path.row == indexPath.row) {
            return YES;
        }
    }
    return NO;
}
陈俊俊's avatar
陈俊俊 committed
427

zhu's avatar
zhu committed
428 429 430
//添加商品明细
-(void)addShopeDetailed
{
陈俊俊's avatar
陈俊俊 committed
431 432 433 434 435 436 437
    NoticeProductViewController *nvc = [NoticeProductViewController new];
    nvc.navTitle = @"添加商品";
    nvc.choseNoticeProduct = ^(NoticeProduct *product,NSIndexPath *indexPath){
        if (product) {
            [_shopeArr addObject:product];
            [mingXiTableView reloadData];
        }
zhu's avatar
zhu committed
438
    };
zhu's avatar
zhu committed
439
    
陈俊俊's avatar
陈俊俊 committed
440
    [self PushViewController:nvc animated:YES];
zhu's avatar
zhu committed
441 442 443
}
-(void)showShopDetail:(PurchaseNoticeCell*)Cell indexPath:(NSIndexPath *)indexPath
{
陈俊俊's avatar
陈俊俊 committed
444 445
    NoticeProduct *noticeProduct=[_shopeArr objectAtIndex:indexPath.row];
    Cell.SpLabel.text=noticeProduct.productName;//商品
zhu's avatar
zhu committed
446
    Cell.shopeName.text=[NSString stringWithFormat:@"%@[%@]",noticeProduct.productName,noticeProduct.productCode];
陈俊俊's avatar
陈俊俊 committed
447
    Cell.BzggLabel.text= [NSString stringWithFormat:@"1*%@%@",noticeProduct.qpc,noticeProduct.baseUnit];//包装规格
zhu's avatar
zhu committed
448
    Cell.packageUnit.text=noticeProduct.packUnit;//包装单位
陈俊俊's avatar
陈俊俊 committed
449 450
    Cell.BzslLabel.text=[NSString stringWithFormat:@"%@%@",noticeProduct.qpcQuantity,noticeProduct.packUnit];//包装数量
    Cell.packageQuantity.text=[NSString stringWithFormat:@"%@%@",noticeProduct.qpcQuantity,noticeProduct.packUnit];
陈俊俊's avatar
陈俊俊 committed
451 452
    Cell.packageSpecification.text=[NSString stringWithFormat:@"1*%@%@",noticeProduct.qpc,noticeProduct.baseUnit];//包装规格
    Cell.foundationQuantity.text= [NSString stringWithFormat:@"%@%@",noticeProduct.quantity,noticeProduct.baseUnit];//基础数量
陈俊俊's avatar
陈俊俊 committed
453
    Cell.remark.text=noticeProduct.remark;//备注
zhu's avatar
zhu committed
454
    
zhu's avatar
zhu committed
455 456
}
//编辑
zhu's avatar
zhu committed
457
- (void)didtoucher:(UIButton*)button
zhu's avatar
zhu committed
458
{
陈俊俊's avatar
陈俊俊 committed
459
    NoticeProductViewController *nvc = [NoticeProductViewController new];
陈俊俊's avatar
陈俊俊 committed
460
    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:button.tag inSection:0];
陈俊俊's avatar
陈俊俊 committed
461 462 463 464 465 466 467 468 469 470 471 472
    NoticeProduct *shopDetail=[_shopeArr objectAtIndex:button.tag];

    if (indexPath) {
        nvc.navTitle = @"编辑费用";
        nvc.indexPath = indexPath;
        nvc.noticeProduct = shopDetail;
    }
    nvc.choseNoticeProduct = ^(NoticeProduct *fee,NSIndexPath *indexPath){
        if (fee) {
            [_shopeArr replaceObjectAtIndex:indexPath.row withObject:fee];
            [mingXiTableView reloadData];

zhu's avatar
zhu committed
473 474
        }
    };
陈俊俊's avatar
陈俊俊 committed
475 476 477 478 479 480 481 482 483
    nvc.deleteNoticeProduct = ^(NoticeProduct *fee,NSIndexPath *indexPath){
        if (fee) {
            [_shopeArr removeObjectAtIndex:indexPath.row];
            [mingXiTableView reloadData];

        }
    };

    [self PushViewController:nvc animated:YES];
zhu's avatar
zhu committed
484
}
朱朝吉's avatar
朱朝吉 committed
485 486 487 488 489 490 491 492 493
#pragma mark delegate
- (BOOL)growingTextViewShouldReturn:(HPGrowingTextView *)growingTextView{
    [_noteTextView resignFirstResponder];
    return YES;
}
- (void)keyboardHidden{
    [_titleField resignFirstResponder];
    [_noteTextView resignFirstResponder];
}
zhu's avatar
zhu committed
494 495 496 497
- (void)btnClick:(UIButton *)btn{
    switch (btn.tag) {
        case SaveTag:
        {
陈俊俊's avatar
陈俊俊 committed
498
            if ([self checkSurvey]) {
陈俊俊's avatar
陈俊俊 committed
499
                _clickState = PURCHASENOTICE_STATE_INITIAL;
陈俊俊's avatar
陈俊俊 committed
500
                [self saveSurvey:PURCHASENOTICE_STATE_INITIAL message:@"正在保存..."];
陈俊俊's avatar
陈俊俊 committed
501
            }
zhu's avatar
zhu committed
502 503 504 505
        }
            break;
        case CommitTag:
        {
陈俊俊's avatar
陈俊俊 committed
506
            if ([self checkSurvey]) {
陈俊俊's avatar
陈俊俊 committed
507 508 509
                UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"温馨提示" message:@"请确认提交" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确认", nil];
                alertView.delegate = self;
                [alertView show];
陈俊俊's avatar
陈俊俊 committed
510
            }
zhu's avatar
zhu committed
511 512 513 514 515 516
        }
            break;
        default:
            break;
    }
}
zhu's avatar
zhu committed
517 518 519 520 521 522 523 524 525 526 527 528 529 530 531
- (BOOL)checkSurvey{
    self.titleStr = _titleField.text;
    self.remarkStr = _noteTextView.text;
    if ( self.titleStr.length==0) {
        ShowMessage(@"采购通知单标题不能为空");
        return NO;
    }
    if (_personLabel.text.length == 0 ) {
        ShowMessage(@"采购员不能为空");
        return NO;
    }
    if (_shopeArr.count==0) {
        ShowMessage(@"商品明细不能为空");
        return NO;
    }
陈俊俊's avatar
陈俊俊 committed
532 533 534 535 536 537
    for (NoticeProduct *billProduct in _shopeArr) {
        if ([billProduct.quantity integerValue] <= 0 || [billProduct.qpcQuantity integerValue] <= 0) {
            ShowMessage(@"有数量等于0的商品明细,请编辑后保存");
            return NO;
        }
    }
zhu's avatar
zhu committed
538 539
    return YES;
}
陈俊俊's avatar
陈俊俊 committed
540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579
- (void)startDatePickView{
    if (!_startTimeView) {
        _startTimeView = [[StartTimeView alloc] initWithFrame:CGRectMake(0, ScreenSize.height, ScreenSize.width, ScreenSize.height - 64)];
        _startTimeView.delegate = self;
        _startTimeView.backgroundColor        = RGBA(0, 0, 0 ,0.5);
        [self.view addSubview:_startTimeView];
        
        [UIView animateWithDuration:0.15 animations:^{
            CGRect startFrame =  _startTimeView.frame;
            startFrame.origin.y =  0;
            _startTimeView.frame = startFrame;
        } completion:^(BOOL finished) {
            
        }];
    }
}
- (void)cancelTimeView{
    [self clearDatePickView];
}
- (void)okTimeView:(NSDate *)time{
    
    _finishDateLabel.textColor = GXF_CONTENT_COLOR;
    _finishDateLabel.text = [IBTCommon stringFromDate:time];
    self.finishDateStr = [time httpParameterString];
    // 关闭选择器
    [self clearDatePickView];
}
#pragma mark - 取消
- (void)clearDatePickView{
    [UIView animateWithDuration:0.15 animations:^{
        CGRect startFrame =  _startTimeView.frame;
        startFrame.origin.y = ScreenSize.height;
        _startTimeView.frame = startFrame;
    } completion:^(BOOL finished) {
        [_startTimeView removeFromSuperview];
        _startTimeView = nil;
    }];
}


zhu's avatar
zhu committed
580 581 582 583 584 585 586 587 588 589 590
- (void)saveSurvey:(NSString *)state message:(NSString *)msg
{
    //保存
    void(^succ)(id) = ^(id data) {
        [IBTLoadingView hideHUDWithText:nil];
        if (data) {
            NSInteger success = [data[@"success"] integerValue];
            NSString *message = data[@"message"];
            if (success == 1) {
                //成功
                if ([state isEqualToString:@"initial"]) {//保存成功
陈俊俊's avatar
陈俊俊 committed
591 592 593 594 595 596 597
                    NSString *uuidS = data[@"data"][@"uuid"];
                    NSString *billNumberS = data[@"data"][@"billNumber"];
                    NSNumber *versionN = data[@"data"][@"version"];
                    uuidObject = uuidS;
                    billNumberObject = billNumberS;
                    versionObject = versionN;
                    [IBTLoadingView showTips:[NSString stringWithFormat:@"当前单据%@已保存成功",billNumberS]];
陈俊俊's avatar
陈俊俊 committed
598 599 600 601
                    //成功之后在次请求详情数据
                    self.purchaseNoticeUuid = uuidS;
                    [self getDataFromServer];
                    
zhu's avatar
zhu committed
602 603 604 605 606 607 608 609 610 611 612 613 614 615
                }else{//提交成功
                    PurchaseNoticeViewController *svc = [PurchaseNoticeViewController new];
                    [self PushViewController:svc animated:YES];
                }
            }else{
                [IBTLoadingView showTips:message];
            }
        }
    };
    void(^fail)(id) = ^(id data) {
        [IBTLoadingView hideHUDWithText:nil];
        [IBTLoadingView showTips:data];
    };
    
陈俊俊's avatar
陈俊俊 committed
616 617 618 619 620 621 622 623 624
    if(self.purchaseNotice.uuid.length > 0 && uuidObject == [NSNull null]){
        uuidObject = self.purchaseNotice.uuid;
    }
    if (self.purchaseNotice.billnumber > 0 && billNumberObject == [NSNull null]) {
        billNumberObject = self.purchaseNotice.billnumber;
    }
    if (self.purchaseNotice && [versionObject integerValue] == 0) {
        versionObject = self.purchaseNotice.version;
    }
zhu's avatar
zhu committed
625
    NSMutableArray *billProducts = [NSMutableArray array];
陈俊俊's avatar
陈俊俊 committed
626 627
    for (NoticeProduct *product in _shopeArr) {
        [billProducts  addObject:[product dictForCommit]];
zhu's avatar
zhu committed
628 629 630 631 632
        }

    NSDictionary *dict = @{@"uuid":uuidObject,//唯一标识
                           @"billnumber":billNumberObject,
                           @"version":versionObject,
陈俊俊's avatar
陈俊俊 committed
633
                           @"title":self.titleStr,
zhu's avatar
zhu committed
634
                           @"state":state,
陈俊俊's avatar
陈俊俊 committed
635 636 637
                           @"purchaserUuid":self.purchaseUuidStr,
                           @"purchaserCode":self.purchaseCodeStr,
                           @"purchaserName":self.purchaseNameStr,
陈俊俊's avatar
陈俊俊 committed
638
                           @"finishDate":[IBTCommon checkString:self.finishDateStr],
陈俊俊's avatar
陈俊俊 committed
639 640 641
                           @"remark":self.remarkStr,
                           @"products":billProducts};
    [IBTLoadingView showProgressLabel:msg];
zhu's avatar
zhu committed
642 643
    [[ICRHTTPController sharedController] savePurchaseNoticeWithData:dict success:succ failure:fail];
}
陈俊俊's avatar
陈俊俊 committed
644 645 646 647 648 649 650 651 652 653 654 655 656 657
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
    if (buttonIndex == 1) {
        _clickState = PURCHASENOTICE_STATE_NOTACCEPTED;
         [self saveSurvey:PURCHASENOTICE_STATE_NOTACCEPTED message:@"正在提交..."];
    }
}

- (void)viewWillDisappear:(BOOL)animated{
    [super viewWillDisappear:animated];
    if(self.purchaseNotice && [_clickState isEqualToString:PURCHASENOTICE_STATE_INITIAL]){
        [ICRUserUtil sharedInstance].needFresh = YES;
    }
}

朱朝吉's avatar
朱朝吉 committed
658 659 660 661 662 663 664

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

/*
zhu's avatar
zhu committed
665 666 667 668 669 670 671 672
 #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.
 }
 */
朱朝吉's avatar
朱朝吉 committed
673 674

@end