// // RequirementReceiptSearchCell.m // IBOSSHSH // // Created by ssl on 2018/1/12. // Copyright © 2018年 elongtian. All rights reserved. // #import "DispatchReceiptSearchCell.h" #import "DateFormat.h" #import "UIColor+hexColor.h" #import "SideSlipConfig.h" #import "StatusInfo.h" #import "StatusInfoTextVC.h" @implementation DispatchReceiptSearchCell #pragma 公有函数 /** 加载xib文件 */ - (void)awakeFromNib { [super awakeFromNib]; } #pragma 委托函数 /** 单元格高度 @return <#return value description#> */ - (CGFloat)cellHeight { return 524.0f; } /** 重置按钮 事件 */ - (void)resetData { [_txtArrangementNo setText:@""]; [_btnStartDate setTitle:@"请选择回执开始日期" forState:UIControlStateNormal]; [_btnEndDate setTitle:@"请选择回执结束日期" forState:UIControlStateNormal]; [_txtReceiptNo setText:@""]; _searchModel.arrangementNo= @""; _searchModel.customerName=@""; _searchModel.customerTelephone=@""; _searchModel.startDate =@""; _searchModel.endDate=@""; [_mutDict setValue:_searchModel forKey:SEARCH_RANGE_MODEL]; _slideModel.customDict = _mutDict; } /** 加载tableviewcell @param indexPath <#indexPath description#> @return <#return value description#> */ + (instancetype)createCellWithIndexPath:(NSIndexPath *)indexPath { DispatchReceiptSearchCell *cell = [[NSBundle mainBundle] loadNibNamed:@"DispatchReceiptSearchCell" owner:nil options:nil][0]; cell.txtArrangementNo.delegate=cell; cell.txtCustomerName.delegate=cell; cell.txtReceiptNo.delegate=cell; cell.txtCustomerTelephone.delegate=cell; [cell configureKeyboard]; return cell; } /** 文本框编辑 @param textField <#textField description#> */ - (void)textFieldDidEndEditing:(UITextField *)textField { _searchModel.arrangementNo = [_txtArrangementNo.text stringByReplacingOccurrencesOfString:@" " withString:@""]; _searchModel.customerName = [_txtCustomerName.text stringByReplacingOccurrencesOfString:@" " withString:@""]; _searchModel.receiptNo=[_txtReceiptNo.text stringByReplacingOccurrencesOfString:@" " withString:@""]; _searchModel.customerTelephone = [_txtCustomerTelephone.text stringByReplacingOccurrencesOfString:@" " withString:@""]; [_mutDict setValue:_searchModel forKey:SEARCH_RANGE_MODEL]; _slideModel.customDict = _mutDict; } /** 初始化cell数据 @param model <#model description#> @param indexPath <#indexPath description#> */ - (void)updateCellWithModel:(SideSlipModel *__autoreleasing *)model indexPath:(NSIndexPath *)indexPath { _slideModel = *model; _searchModel = [DispatchReceiptSearchModel new]; [_mutDict setValue:_searchModel forKey:SEARCH_RANGE_MODEL]; _slideModel.customDict = _mutDict; _mutDict = [NSMutableDictionary dictionaryWithDictionary:_slideModel.customDict]; } /** 返回tableviewcell标识 @return <#return value description#> */ + (NSString *)cellReuseIdentifier { return @"SearchTableViewCell"; } /** 校验文本 @param textField <#textField description#> @param range <#range description#> @param string <#string description#> @return <#return value description#> */ - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { return YES; } /** 触摸事件 @param touches <#touches description#> @param event <#event description#> */ - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [self hideKey]; [_txtArrangementNo resignFirstResponder]; [_txtCustomerName resignFirstResponder]; [_txtReceiptNo resignFirstResponder]; [_txtCustomerTelephone resignFirstResponder]; } #pragma 私有函数 /** 取消文本 */ - (void)accessoryButtonBack { [self hideKey];} /** 确定文本 */ - (void)accessoryButtonDone { [_txtArrangementNo resignFirstResponder]; [_txtCustomerName resignFirstResponder]; [_txtReceiptNo resignFirstResponder]; [_txtCustomerTelephone resignFirstResponder]; [self hideKey]; } /** 键盘配置 */ - (void)configureKeyboard { UIView *keyBoardAccessoryView = [self createKeyBoardAccessoryView]; _txtArrangementNo.inputAccessoryView=keyBoardAccessoryView; _txtCustomerName.inputAccessoryView=keyBoardAccessoryView; _txtReceiptNo.inputAccessoryView=keyBoardAccessoryView; _txtCustomerTelephone.inputAccessoryView=keyBoardAccessoryView; } - (IBAction)startDateAction:(id)sender { _brdatePicker = [BRDatePickerView PickerAlertWithTitle:@""]; [_brdatePicker configureSelectionBlock:^(NSString *date){ _startDate=date; } andCompletionBlock:^(void){ [_searchModel setStartDate:_startDate]; [_mutDict setValue:_searchModel forKey:SEARCH_RANGE_MODEL]; _slideModel.customDict =_mutDict; [_btnStartDate setTitle:_startDate forState:UIControlStateNormal]; } andCancelBlock:^(void){ _startDate=_btnStartDate.titleLabel.text; }]; [_brdatePicker show]; } - (IBAction)endDateAction:(id)sender { _brdatePicker = [BRDatePickerView PickerAlertWithTitle:@""]; [_brdatePicker configureSelectionBlock:^(NSString *date){ _endDate=date; } andCompletionBlock:^(void){ [_searchModel setEndDate:_endDate]; [_mutDict setValue:_searchModel forKey:SEARCH_RANGE_MODEL]; _slideModel.customDict = _mutDict; [_btnEndDate setTitle:_endDate forState:UIControlStateNormal]; } andCancelBlock:^(void){ _endDate=_btnEndDate.titleLabel.text; }]; [_brdatePicker show]; } /** 文本编辑时候 弹出取消完成按钮 @return <#return value description#> */ - (UIView *)createKeyBoardAccessoryView { UIView *keyBoardAccessoryView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, Screen_Width, ACCESSORY_VIEW_HEIGHT)]; [keyBoardAccessoryView setBackgroundColor:[UIColor hexColor:@"e1e1e1"]]; UIButton *backButton = [[UIButton alloc] initWithFrame:CGRectMake(ACCESSORY_BUTTON_LEADING_TRAILING, 0, ACCESSORY_BUTTON_WIDTH, ACCESSORY_VIEW_HEIGHT)]; [backButton setTitle:@"取消" forState:UIControlStateNormal]; [backButton setTitleColor:[UIColor grayColor] forState:UIControlStateNormal]; [backButton.titleLabel setFont:[UIFont systemFontOfSize:14.f]]; [backButton addTarget:self action:@selector(accessoryButtonBack) forControlEvents:UIControlEventTouchUpInside]; UIButton *doneButton = [[UIButton alloc] initWithFrame:CGRectMake(Screen_Width - ACCESSORY_BUTTON_LEADING_TRAILING - ACCESSORY_BUTTON_WIDTH, 0, ACCESSORY_BUTTON_WIDTH, ACCESSORY_VIEW_HEIGHT)]; [doneButton setTitle:@"完成" forState:UIControlStateNormal]; [doneButton setTitleColor:[UIColor hexColor:FILTER_RED_STRING] forState:UIControlStateNormal]; [doneButton.titleLabel setFont:[UIFont systemFontOfSize:14.f]]; [doneButton addTarget:self action:@selector(accessoryButtonDone) forControlEvents:UIControlEventTouchUpInside]; [keyBoardAccessoryView addSubview:backButton]; [keyBoardAccessoryView addSubview:doneButton]; return keyBoardAccessoryView; } /** * 隐藏键盘 */ - (void)hideKey { [self.contentView endEditing:YES]; } @end