// // UseStorageVC.m // IBOSSmini // // Created by ssl on 2018/3/1. // Copyright © 2018年 elongtian. All rights reserved. // #import "UseStorageVC.h" @interface UseStorageVC () @end @implementation UseStorageVC - (void)viewDidLoad { [super viewDidLoad]; [self loadNavStyle]; [self initUI]; [self registerKeybordNotification]; } /** 修改:2017-9-25 适配机型 安全区视图发生变化 */ -(void)viewSafeAreaInsetsDidChange{ self.view.backgroundColor = [UIColor whiteColor]; _vTableView.frame = CGRectMake(0,0, self.view.frame.size.width, self.view.safeAreaLayoutGuide.layoutFrame.size.height ); [super viewSafeAreaInsetsDidChange]; } -(void)loadNavStyle { //右边 UIButton *btnAdd = [UIButton buttonWithType:UIButtonTypeCustom]; [btnAdd addTarget:self action:@selector(submitData) forControlEvents:UIControlEventTouchUpInside]; btnAdd.frame = CGRectMake(0, 0,60,14); [btnAdd setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; btnAdd.titleLabel.font=[UIFont systemFontOfSize:16]; [btnAdd setTitle:@"确定" forState:UIControlStateNormal]; UIBarButtonItem *menubtnAdd = [[UIBarButtonItem alloc] initWithCustomView:btnAdd]; self.navigationItem.title=@"请选择"; self.navigationItem.rightBarButtonItem = menubtnAdd; //返回 UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; [button setBackgroundImage:[UIImage imageNamed:@"icon_back"] forState:UIControlStateNormal]; [button addTarget:self action:@selector(goBack) forControlEvents:UIControlEventTouchUpInside]; button.frame = CGRectMake(0, 0, 15, 18); UIBarButtonItem *menuButton = [[UIBarButtonItem alloc] initWithCustomView:button]; self.navigationItem.leftBarButtonItem = menuButton; } -(void)submitData{ [self.view endEditing:YES]; if([self.useEarnestAmountDelegate respondsToSelector:@selector(callbackUseStorageAmount:)]) { [self.useEarnestAmountDelegate callbackUseStorageAmount:_earnestList]; } [self.navigationController popViewControllerAnimated:YES]; } -(void)initUI{ _vTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)]; _vTableView.separatorStyle = UITableViewCellSeparatorStyleNone; _vTableView.autoresizingMask = UIViewAutoresizingFlexibleHeight; _vTableView.backgroundColor = [UIColor whiteColor]; _vTableView.delegate = self; _vTableView.dataSource=self; [self.view addSubview:_vTableView]; if(_earnestList!=nil&&_earnestList.count>0){ _arr= [[NSMutableArray alloc]initWithArray:_earnestList copyItems:YES]; [_vTableView reloadData]; } if(_earnestList == nil){ _earnestList = [NSMutableArray array]; [self loadEarnestDataSource]; } } #pragma mark - tableView回调 /** 单元格cell个数 @param tableView <#tableView description#> @param section <#section description#> @return <#return value description#> */ -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return [_earnestList count]; } /** <#Description#> @param tableView <#tableView description#> @return <#return value description#> */ -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ return 1; } /** 高度 @param tableView <#tableView description#> @param indexPath <#indexPath description#> @return <#return value description#> */ - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ return 220; } /** 每个单元格cell @param tableView <#tableView description#> @param indexPath <#indexPath description#> @return <#return value description#> */ -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *cellIdentifier = @"UseStorageCell"; UseStorageCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier ]; cell=[[UseStorageCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier]; cell.selectionStyle=UITableViewCellSelectionStyleNone; cell.position= indexPath.row; cell.cellDelegate = self; UseStorageModel *earnestModel = [_earnestList objectAtIndex:indexPath.row]; [cell parseEarnestInfo:earnestModel]; return cell; } - (void)goBack { if([self.useEarnestAmountDelegate respondsToSelector:@selector(callbackUseStorageAmount:)]) { [self.useEarnestAmountDelegate callbackUseStorageAmount:_arr]; } [self.navigationController popViewControllerAnimated:YES]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } /** 使用定金 */ -(void)loadEarnestDataSource{ NSMutableDictionary *dict = [NSMutableDictionary dictionary]; [dict setObject:@"GetAccountPrestoreDataIphone" forKey:@"Action"]; [dict setObject:[NSString stringWithFormat:@"%@",kkAccountCode]forKey:@"AccountCode"]; [dict setObject:kkUserCode forKey:@"UserCode"]; [dict setObject:kkUserPwd forKey:@"UserPassword"]; [dict setObject:kkSessionKey forKey:@"SessionKey"]; [dict setObject:_organizationID==nil?@"":_organizationID forKey:@"OrganizationID"]; [dict setObject:_customerID==nil?@"":_customerID forKey:@"CustomerID"]; [dict setObject:@"" forKey:@"SalesID"]; _downManager = [[ASIDownManager alloc] init]; _downManager.delegate = self; _downManager.OnImageDown = @selector(onEarnestLoadFinish:); _downManager.OnImageFail = @selector(onEarnestLoadFail:); [_downManager postHttpRequest:ServerURL dic:dict path:nil fileName:nil]; } -(void)onEarnestLoadFinish:(ASIDownManager *)sender{ NSDictionary *dic = [sender.mWebStr JSONValue]; [self stopLoading]; // 服务器返回数据是否正确 if (dic && [dic isKindOfClass:[NSDictionary class]]) { // 服务器返回数据状态值 int iStatus = [[dic objectForKey:@"Status"] intValue]; // 服务器返回数据消息 NSString *message=[dic objectForKey:@"Message"]; // 服务器返回数据状态值正确 if (iStatus == 0) { NSArray * infoArr=[dic objectForKey:@"Result"]; if(infoArr!=nil&& infoArr.count>0) { for (int i = 0; i < infoArr.count; i++) { NSDictionary *dic=infoArr[i]; UseStorageModel *model = [[UseStorageModel alloc] init]; model.waitAuditSum = [NSString stringWithFormat:@"%.4f",[[dic objectForKey: @"WaitAuditSum"] doubleValue]]; model.settlementType = [dic objectForKey: @"SettlementType"]; model.settlementTypeName = [dic objectForKey: @"SettlementTypeName"]; model.waitSetPrestore =[NSString stringWithFormat:@"%.4f",[[dic objectForKey: @"WaitSetPrestore"] doubleValue]] ; model.prestoreSum = [NSString stringWithFormat:@"%.4f",[[dic objectForKey: @"PrestoreSum"] doubleValue]]; model.freezeSum = [NSString stringWithFormat:@"%.4f",[[dic objectForKey: @"FreezeSum"] doubleValue]]; model.unusedEarnest = [NSString stringWithFormat:@"%.4f",[[dic objectForKey: @"UnusedEarnest"] doubleValue]]; model.earnestSum = [NSString stringWithFormat:@"%.4f",[[dic objectForKey: @"EarnestSum"] doubleValue]]; model.organizationID = [NSString stringWithFormat:@"%@",[dic objectForKey: @"OrganizationID"]]; model.objectType = [dic objectForKey: @"ObjectType"]; model.objectID = [NSString stringWithFormat:@"%@",[dic objectForKey: @"ObjectID"]]; [_earnestList addObject:model]; } _arr= [[NSMutableArray alloc]initWithArray:_earnestList copyItems:YES]; [_vTableView reloadData]; } } else if(iStatus==ActionResultStatusAuthError ||iStatus==ActionResultStatusNoLogin ||iStatus==ActionResultStatusLogined ||iStatus == ActionResultStatusLoginedInvalid){ [self showReLoginDialog:message]; } else{ [self showAlertViewText:message]; } } } -(void)onEarnestLoadFail:(ASIDownManager *)sender{ [self stopLoading]; [self showAlertViewText:@"加载失败"]; } -(void)update:(int) position flag:(int) flag text:(NSString *) str{ UseStorageModel *model = [self.earnestList objectAtIndex:position]; if(flag == 1){ model.earnestSum = str; }else{ model.remarks = str; } } // 键盘弹出改变tableview高度 - (void)registerKeybordNotification { NSNotificationCenter *notification = [NSNotificationCenter defaultCenter]; [notification removeObserver:self]; [notification addObserver:self selector:@selector(showKeyboard:) name:UIKeyboardWillShowNotification object:nil]; [notification addObserver:self selector:@selector(hideKeyboard:) name:UIKeyboardWillHideNotification object:nil]; #ifdef __IPHONE_5_0 // 5.0以上系统中文键盘高度与4.0系统不一样 float version = [[[UIDevice currentDevice] systemVersion] floatValue]; if (version >= 5.0) { [notification addObserver:self selector:@selector(showKeyboard:) name:UIKeyboardWillChangeFrameNotification object:nil]; } #endif } - (void)showKeyboard:(NSNotification *)notification { NSDictionary *userInfo = [notification userInfo]; NSValue *aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey]; CGFloat keyboardHeight = CGRectGetHeight([aValue CGRectValue]); CGFloat height = CGRectGetHeight(self.view.frame) - keyboardHeight; /* 使用动画效果,过度更加平滑 */ [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:0.1]; { CGRect rect = _vTableView.frame; rect.size.height = height; _vTableView.frame = rect; } [UIView commitAnimations]; } - (void)hideKeyboard:(NSNotification *)notification { [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:0.1]; { CGRect rect = _vTableView.frame; rect.size.height = CGRectGetHeight(self.view.frame) ; _vTableView.frame = rect; } [UIView commitAnimations]; } -(void)scrollViewDidScroll:(UIScrollView *)scrollView{ if(scrollView.isDragging){ [self.view endEditing:YES]; } } @end