// // AddressViewController.m // Lighting // // Created by 曹云霄 on 16/5/10. // Copyright © 2016年 上海勾芒科技有限公司. All rights reserved. // #import "AddressViewController.h" #import "YXPickerManager.h" @interface AddressViewController () @end @implementation AddressViewController - (void)viewDidLoad { [super viewDidLoad]; [self uiConfigAction]; } #pragma mark -布局 - (void)uiConfigAction { self.recipientUserBackview.layer.masksToBounds = YES; self.recipientUserBackview.layer.cornerRadius = kCornerRadius; self.phoneNumberBackview.layer.masksToBounds = YES; self.phoneNumberBackview.layer.cornerRadius = kCornerRadius; self.detailsAddressBackview.layer.masksToBounds = YES; self.detailsAddressBackview.layer.cornerRadius = kCornerRadius; self.citySelected.layer.masksToBounds = YES; self.citySelected.layer.cornerRadius = kCornerRadius; self.delectAddressButton.layer.masksToBounds = YES; self.delectAddressButton.layer.cornerRadius = kCornerRadius; self.modifyButton.layer.masksToBounds = YES; self.modifyButton.layer.cornerRadius = kCornerRadius; [self.citySelected addTarget:self action:@selector(selectedCityButtonClick:) forControlEvents:UIControlEventTouchUpInside]; //判断是修改还是新增 if (_isChange) { self.changAddressLabe.text = @"修改收货地址"; [self.delectAddressButton setTitle:@"删除" forState:UIControlStateNormal]; [self.modifyButton setTitle:@"保存" forState:UIControlStateNormal]; }else { self.changAddressLabe.text = @"新增收货地址"; } self.recipientPerson.text = self.model.name; self.PhoneNumber.text = self.model.miblephone; MyclientEntityModel *address = [Customermanager manager].model; [self.citySelected setTitle:[NSString stringWithFormat:@"%@-%@-%@",address.consumer.province,address.consumer.city,address.consumer.country] forState:UIControlStateNormal]; self.detailsAddress.text = self.model.address; } #pragma mark -取消弹出的圆角 - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; self.view.superview.layer.cornerRadius = 0; } #pragma mark -城市选择器 - (void)selectedCityButtonClick:(UIButton *)sender { ToStoreAddress *storeAddress = [Shoppersmanager manager].storeAddress; NSString *address = [NSString stringWithFormat:@"%@-%@-%@",storeAddress.province,storeAddress.city,storeAddress.country]; [[YXPickerManager shareManager] showAddressPickerView:kMainBlueColor defaultAddress:address commitBlock:^(NSString *address, NSString *zipcode) { [sender setTitle:address forState:UIControlStateNormal]; } cancelBlock:^{ }]; } #pragma mark -关闭地址输入框 - (IBAction)turnoffAddressView:(UIButton *)sender { [self dismissViewControllerAnimated:YES completion:nil]; } #pragma mark 新增按钮点击,或者保存 - (IBAction)addAddressButtonClick:(UIButton *)sender { NSString *phoneNumber = self.PhoneNumber.text; if ([BaseViewController isBlankString:self.recipientPerson.text]) { [XBLoadingView showHUDViewWithText:@"请输入收货人姓名"]; return; } if ([BaseViewController isBlankString:phoneNumber]) { [XBLoadingView showHUDViewWithText:@"手机号码不能为空"]; return; } if (![phoneNumber isTelephone]) { [XBLoadingView showHUDViewWithText:@"手机号码格式不正确"]; return; } if ([BaseViewController isBlankString:self.detailsAddress.text]) { [XBLoadingView showHUDViewWithText:@"请输入详细地址"]; return; } if ([BaseViewController isBlankString:[self.citySelected currentTitle]]) { [XBLoadingView showHUDViewWithText:@"请选择省市区"]; return; } if ([sender.currentTitle isEqualToString:@"新增"]) { [self addAddressInformationRequest]; } else if ([sender.currentTitle isEqualToString:@"保存"]) { [self changeAddressInformationRequest]; } } #pragma mark -新增地址信息 - (void)addAddressInformationRequest { TOShippingAddrEntity *address = [[TOShippingAddrEntity alloc]init]; address.consumerId = [Customermanager manager].model.consumer.fid; address.name = self.recipientPerson.text; address.miblephone = self.PhoneNumber.text; address.address = self.detailsAddress.text; //省市区 NSArray *addressArray = [[self.citySelected currentTitle] componentsSeparatedByString:@"-"]; address.province = addressArray[0]; address.city = addressArray[1]; address.country = addressArray[2]; [XBLoadingView showHUDViewWithDefault]; WS(weakSelf); [HTTP networkRequestWithURL:SERVERREQUESTURL(ADDADDRESS) withRequestType:ZERO withParameter:address withReturnValueBlock:^(id returnValue) { [XBLoadingView hideHUDViewWithDefault]; if (RESULT(returnValue)) { AddressModel *model = [[AddressModel alloc]initWithDictionary:[address toDictionary] error:nil]; model.fid = RESPONSE(returnValue); model.isSelected = NO; //增加地址 if ([weakSelf.delegate respondsToSelector:@selector(addAddressCell:)]) { [weakSelf.delegate addAddressCell:model]; } } else { [XBLoadingView showHUDViewWithText:MESSAGE(returnValue)]; } }withFailureBlock:^(id error) { [XBLoadingView hideHUDViewWithDefault]; }]; } #pragma mark -更改地址 - (void)changeAddressInformationRequest { TOShippingAddrEntity *address = [[TOShippingAddrEntity alloc]init]; address.consumerId = [Customermanager manager].model.consumer.fid; address.name = self.recipientPerson.text; address.miblephone = self.PhoneNumber.text; address.address = self.detailsAddress.text; //省市区 NSArray *addressArray = [[self.citySelected currentTitle] componentsSeparatedByString:@"-"]; address.province = addressArray[0]; address.city = addressArray[1]; address.country = addressArray[2]; [XBLoadingView showHUDViewWithDefault]; address.fid = self.model.fid; [XBLoadingView showHUDViewWithDefault]; WS(weakSelf); [HTTP networkRequestWithURL:SERVERREQUESTURL(CHANGEADDRESS) withRequestType:ZERO withParameter:address withReturnValueBlock:^(id returnValue) { [XBLoadingView hideHUDViewWithDefault]; if (RESULT(returnValue)) { AddressModel *model = [[AddressModel alloc]initWithDictionary:[address toDictionary] error:nil]; model.isSelected = NO; //修改地址 if ([weakSelf.delegate respondsToSelector:@selector(changeAddresscell:withcellindex:)]) { [weakSelf.delegate changeAddresscell:model withcellindex:weakSelf.cellindex]; } } else { [XBLoadingView showHUDViewWithText:MESSAGE(returnValue)]; } } withFailureBlock:^(id error) { [XBLoadingView hideHUDViewWithDefault]; }]; } #pragma mark -取消新增地址,或者删除 - (IBAction)cancelButtonClick:(UIButton *)sender { if ([sender.currentTitle isEqualToString:@"取消"]) { [self dismissViewControllerAnimated:YES completion:nil]; } else if ([sender.currentTitle isEqualToString:@"删除"]) { [self deleteAddressButtonClick]; } } #pragma mark -删除收货地址 - (void)deleteAddressButtonClick { [XBLoadingView showHUDViewWithDefault]; WS(weakSelf); [HTTP networkRequestWithURL:[NSString stringWithFormat:@"%@%@",SERVERREQUESTURL(REMOVEADDRESS),_model.fid] withRequestType:ONE withParameter:nil withReturnValueBlock:^(id returnValue) { [XBLoadingView hideHUDViewWithDefault]; if (RESULT(returnValue)) { [XBLoadingView showHUDViewWithSuccessText:@"删除成功" completeBlock:^{ if ([weakSelf.delegate respondsToSelector:@selector(delecteCell:)]) { [weakSelf.delegate delecteCell:_model.fid]; } }]; }else { [XBLoadingView showHUDViewWithText:MESSAGE(returnValue)]; } }withFailureBlock:^(id error) { [XBLoadingView hideHUDViewWithDefault]; }]; } /* #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