123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448 |
- //
- // NewCar.m
- // LN_School
- //
- // Created by apple on 2017/12/15.
- // Copyright © 2017年 Danson. All rights reserved.
- //
- #import "NewCar.h"
- #import "PureCamera.h"
- #import "HKClipperHelper.h"
- @interface NewCar ()<UIActionSheetDelegate>
- {
- XLFormRowDescriptor *btnRow;//记录当前添加照片的row
- NSString *photoPath,*filePath,*filePath2,*filePath3;
- }
- @end
- @implementation NewCar
- - (void)viewDidLoad {
- [super viewDidLoad];
-
- photoPath = filePath = filePath2 = filePath3 = @"";
-
- XLFormDescriptor *formDescriptor = [XLFormDescriptor formDescriptor];
-
- XLFormSectionDescriptor *section = [XLFormSectionDescriptor formSectionWithTitle:@"必填信息"];
- [formDescriptor addFormSection:section];
-
- XLFormRowDescriptor *row = [XLFormRowDescriptor formRowDescriptorWithTag:@"licnum" rowType:XLFormRowDescriptorTypeText title:@"车牌号"];
- row.required = YES;
- [row.cellConfigAtConfigure setObject:@(NSTextAlignmentRight) forKey:@"textField.textAlignment"];
- [row.cellConfigAtConfigure setObject:@"请输入车牌号" forKey:@"textField.placeholder"];
- [section addFormRow:row];
-
- row = [XLFormRowDescriptor formRowDescriptorWithTag:@"manufacture" rowType:XLFormRowDescriptorTypeText title:@"生产厂家"];
- row.required = YES;
- [row.cellConfigAtConfigure setObject:@(NSTextAlignmentRight) forKey:@"textField.textAlignment"];
- [row.cellConfigAtConfigure setObject:@"请输入生产厂家" forKey:@"textField.placeholder"];
- [section addFormRow:row];
-
- row = [XLFormRowDescriptor formRowDescriptorWithTag:@"brand" rowType:XLFormRowDescriptorTypeText title:@"车辆品牌"];
- row.required = YES;
- [row.cellConfigAtConfigure setObject:@(NSTextAlignmentRight) forKey:@"textField.textAlignment"];
- [row.cellConfigAtConfigure setObject:@"请输入车辆品牌" forKey:@"textField.placeholder"];
- [section addFormRow:row];
-
- row = [XLFormRowDescriptor formRowDescriptorWithTag:@"model" rowType:XLFormRowDescriptorTypeText title:@"车辆型号"];
- row.required = YES;
- [row.cellConfigAtConfigure setObject:@(NSTextAlignmentRight) forKey:@"textField.textAlignment"];
- [row.cellConfigAtConfigure setObject:@"请输入车辆型号" forKey:@"textField.placeholder"];
- [section addFormRow:row];
-
- row = [XLFormRowDescriptor formRowDescriptorWithTag:@"franum" rowType:XLFormRowDescriptorTypeText title:@"车架号"];
- row.required = YES;
- [row.cellConfigAtConfigure setObject:@(NSTextAlignmentRight) forKey:@"textField.textAlignment"];
- [row.cellConfigAtConfigure setObject:@"请输入车架号" forKey:@"textField.placeholder"];
- [section addFormRow:row];
-
-
- row = [XLFormRowDescriptor formRowDescriptorWithTag:@"platecolor" rowType:XLFormRowDescriptorTypeSelectorPush title:@"车辆颜色"];
- row.required = YES;
- row.selectorOptions = @[[XLFormOptionsObject formOptionsObjectWithValue:@(1) displayText:@"蓝色"],[XLFormOptionsObject formOptionsObjectWithValue:@(2) displayText:@"黄色"],[XLFormOptionsObject formOptionsObjectWithValue:@(3) displayText:@"黑色"],[XLFormOptionsObject formOptionsObjectWithValue:@(4) displayText:@"白色"],[XLFormOptionsObject formOptionsObjectWithValue:@(5) displayText:@"绿色"],[XLFormOptionsObject formOptionsObjectWithValue:@(9) displayText:@"其他"]];
- row.value = [XLFormOptionsObject formOptionsObjectWithValue:@(1) displayText:@"蓝色"];
- [section addFormRow:row];
-
-
- row = [XLFormRowDescriptor formRowDescriptorWithTag:@"perdritype" rowType:XLFormRowDescriptorTypeSelectorPush title:@"培训车型"];
- row.required = YES;
- row.selectorOptions = @[[XLFormOptionsObject formOptionsObjectWithValue:@(0) displayText:@"A1"],[XLFormOptionsObject formOptionsObjectWithValue:@(1) displayText:@"A2"],[XLFormOptionsObject formOptionsObjectWithValue:@(2) displayText:@"A3"],[XLFormOptionsObject formOptionsObjectWithValue:@(3) displayText:@"B1"],[XLFormOptionsObject formOptionsObjectWithValue:@(4) displayText:@"B2"],[XLFormOptionsObject formOptionsObjectWithValue:@(5) displayText:@"C1"],[XLFormOptionsObject formOptionsObjectWithValue:@(6) displayText:@"C2"],[XLFormOptionsObject formOptionsObjectWithValue:@(7) displayText:@"C3"],[XLFormOptionsObject formOptionsObjectWithValue:@(8) displayText:@"C4"],[XLFormOptionsObject formOptionsObjectWithValue:@(9) displayText:@"C5"],[XLFormOptionsObject formOptionsObjectWithValue:@(10) displayText:@"D"],[XLFormOptionsObject formOptionsObjectWithValue:@(11) displayText:@"E"],[XLFormOptionsObject formOptionsObjectWithValue:@(12) displayText:@"F"],[XLFormOptionsObject formOptionsObjectWithValue:@(13) displayText:@"M"],[XLFormOptionsObject formOptionsObjectWithValue:@(14) displayText:@"N"],[XLFormOptionsObject formOptionsObjectWithValue:@(15) displayText:@"P"]];
- row.value = [XLFormOptionsObject formOptionsObjectWithValue:@(5) displayText:@"C1"];
- [section addFormRow:row];
-
- row = [XLFormRowDescriptor formRowDescriptorWithTag:@"buydate" rowType:XLFormRowDescriptorTypeDate title:@"购买日期"];
- row.required = YES;
- // row.value = [NSDate new];
- [section addFormRow:row];
-
- row = [XLFormRowDescriptor formRowDescriptorWithTag:@"insuranceNum" rowType:XLFormRowDescriptorTypeText title:@"交强险保单号"];
- row.required = YES;
- [row.cellConfigAtConfigure setObject:@(NSTextAlignmentRight) forKey:@"textField.textAlignment"];
- [row.cellConfigAtConfigure setObject:@"请输入交强险保单号" forKey:@"textField.placeholder"];
- [section addFormRow:row];
-
- row = [XLFormRowDescriptor formRowDescriptorWithTag:@"insuranceMoney" rowType:XLFormRowDescriptorTypeNumber title:@"保险金额(元)"];
- row.required = YES;
- [row.cellConfigAtConfigure setObject:@(NSTextAlignmentRight) forKey:@"textField.textAlignment"];
- [row.cellConfigAtConfigure setObject:@"请输入保险金额" forKey:@"textField.placeholder"];
- [section addFormRow:row];
-
- row = [XLFormRowDescriptor formRowDescriptorWithTag:@"insuranceStartTime" rowType:XLFormRowDescriptorTypeDate title:@"保险缴纳时间"];
- row.required = YES;
- // row.value = [NSDate new];
- [section addFormRow:row];
-
- row = [XLFormRowDescriptor formRowDescriptorWithTag:@"insuranceLimitTime" rowType:XLFormRowDescriptorTypeNumber title:@"保险有效时长(年)"];
- row.required = YES;
- [row.cellConfigAtConfigure setObject:@(NSTextAlignmentRight) forKey:@"textField.textAlignment"];
- [row.cellConfigAtConfigure setObject:@"请输入保险有效时长" forKey:@"textField.placeholder"];
- [section addFormRow:row];
-
- row = [XLFormRowDescriptor formRowDescriptorWithTag:@"checkTime1" rowType:XLFormRowDescriptorTypeDate title:@"车辆年检日期"];
- row.required = YES;
- // row.value = [NSDate new];
- [section addFormRow:row];
-
- row = [XLFormRowDescriptor formRowDescriptorWithTag:@"nextTime1" rowType:XLFormRowDescriptorTypeDate title:@"下次车辆年检日期"];
- row.required = YES;
- // row.value = [NSDate new];
- [section addFormRow:row];
-
- row = [XLFormRowDescriptor formRowDescriptorWithTag:@"checkTime2" rowType:XLFormRowDescriptorTypeDate title:@"车辆综合性能检测日期"];
- row.required = YES;
- // row.value = [NSDate new];
- [section addFormRow:row];
-
- row = [XLFormRowDescriptor formRowDescriptorWithTag:@"nextTime2" rowType:XLFormRowDescriptorTypeDate title:@"下次车辆综合性能检测日期"];
- row.required = YES;
- // row.value = [NSDate new];
- [section addFormRow:row];
-
-
- //上传照片
- XLFormRowDescriptor *buttonRow = [XLFormRowDescriptor formRowDescriptorWithTag:@"photoPath" rowType:XLFormRowDescriptorTypeButton title:@"车辆照片"];
- buttonRow.height = 70;
- [buttonRow.cellConfig setObject:@(NSTextAlignmentNatural) forKey:@"textLabel.textAlignment"];
- [buttonRow.cellConfig setObject:[UIImage imageNamed:@"NOImg"] forKey:@"imageView.image"];
- buttonRow.action.formSelector = @selector(getPhotoPath:);
- [section addFormRow:buttonRow];
-
- buttonRow = [XLFormRowDescriptor formRowDescriptorWithTag:@"filePath" rowType:XLFormRowDescriptorTypeButton title:@"行驶证(正本)"];
- buttonRow.height = 70;
- [buttonRow.cellConfig setObject:@(NSTextAlignmentNatural) forKey:@"textLabel.textAlignment"];
- [buttonRow.cellConfig setObject:[UIImage imageNamed:@"NOImg"] forKey:@"imageView.image"];
- buttonRow.action.formSelector = @selector(getPhotoPath:);
- [section addFormRow:buttonRow];
-
- buttonRow = [XLFormRowDescriptor formRowDescriptorWithTag:@"filePath2" rowType:XLFormRowDescriptorTypeButton title:@"行驶证(副本)"];
- buttonRow.height = 70;
- [buttonRow.cellConfig setObject:@(NSTextAlignmentNatural) forKey:@"textLabel.textAlignment"];
- [buttonRow.cellConfig setObject:[UIImage imageNamed:@"NOImg"] forKey:@"imageView.image"];
- buttonRow.action.formSelector = @selector(getPhotoPath:);
- [section addFormRow:buttonRow];
-
- buttonRow = [XLFormRowDescriptor formRowDescriptorWithTag:@"filePath3" rowType:XLFormRowDescriptorTypeButton title:@"车辆综合性能检测附件"];
- buttonRow.height = 70;
- [buttonRow.cellConfig setObject:@(NSTextAlignmentNatural) forKey:@"textLabel.textAlignment"];
- [buttonRow.cellConfig setObject:[UIImage imageNamed:@"NOImg"] forKey:@"imageView.image"];
- buttonRow.action.formSelector = @selector(getPhotoPath:);
- [section addFormRow:buttonRow];
-
- section = [XLFormSectionDescriptor formSectionWithTitle:@"选填信息"];
- [formDescriptor addFormSection:section];
-
- row = [XLFormRowDescriptor formRowDescriptorWithTag:@"engnum" rowType:XLFormRowDescriptorTypeText title:@"发动机号"];
- [row.cellConfigAtConfigure setObject:@(NSTextAlignmentRight) forKey:@"textField.textAlignment"];
- [row.cellConfigAtConfigure setObject:@"请输入发动机号" forKey:@"textField.placeholder"];
- [section addFormRow:row];
-
- self.form = formDescriptor;
-
-
-
- CGFloat bottomBtnH = 50;
- self.tableView.height = kSize.height - bottomBtnH - SafeAreaBottomHeight;
- UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
- btn.frame = CGRectMake(0, kSize.height-kNavOffSet-bottomBtnH - SafeAreaBottomHeight, kSize.width, bottomBtnH);
- [btn setTitle:@"提交" textColor:[UIColor whiteColor] font:Font17 fotState:UIControlStateNormal];
- btn.backgroundColor = defGreen;
- [btn addTarget:self action:@selector(commitAction) forControlEvents:UIControlEventTouchUpInside];
- [self.view addSubview:btn];
-
-
- self.title = @"新增车辆";
- self.view.backgroundColor = KBackGroundColor;
- [self goBackByNavigation];
- }
- -(void)commitAction {
-
- //校验数据
- NSArray *arr = [self formValidationErrors];
- if ([arr count] != 0) {
- NSError *error = arr[0];
- ShowMsg(error.userInfo[@"NSLocalizedDescription"]);
- return;
- }
-
-
- // NSLog(@"%@",[self formValues]);
-
- if (filePath.length < 1 || filePath2.length < 1 || filePath3.length < 1 || photoPath.length < 1) {
- ShowMsg(@"请上传照片附件");
- return;
- }
-
- [self addCar];
- }
- - (void)getPhotoPath:(XLFormRowDescriptor *)row {
- [self deselectFormRow:row];
- btnRow = row;
- UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@"选择照片" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:@"拍照",@"相册", nil];
- [sheet showInView:self.view];
- }
- -(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
-
- if (buttonIndex == 0) {//拍照
- if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
- myDelegate.takePhotoAllRect = YES;
- PureCamera *homec = [[PureCamera alloc] init];
- homec.fininshcapture = ^(UIImage *photo) {
- //如果拍照过程取消 要另外处理
- myDelegate.takePhotoAllRect = NO;
- if (photo) {
- [self uploadCarImgWithImage:photo];
- }
- };
-
- [self presentViewController:homec
- animated:NO
- completion:nil];
-
- } else {
- NSLog(@"相机调用失败");
- }
- }else if (buttonIndex == 1){//相册
- if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeSavedPhotosAlbum]) {
-
- [HKClipperHelper shareManager].nav = self.navigationController;
- [HKClipperHelper shareManager].clippedImgSize = CGSizeMake(4, 5);
- [HKClipperHelper shareManager].clipperType = ClipperTypeImgMove;
- [HKClipperHelper shareManager].systemEditing = NO;
- [HKClipperHelper shareManager].isSystemType = NO;
-
- [HKClipperHelper shareManager].clippedImageHandler = ^(UIImage *photo) {
- [self uploadCarImgWithImage:photo];
- };
-
- [[HKClipperHelper shareManager] photoWithSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
- }else{
- NSLog(@"相册调用失败");
- }
- }
- }
- #pragma mark 数据
- - (void)uploadCarImgWithImage:(UIImage *)img{
-
- //判断网络是否连接
- if (![NetManager connectedToNetWork]) {
- showMsgUnconnect();
- return;
- }
-
- NSString *type = @"";
- if ([btnRow.tag isEqualToString:@"photoPath"]) {
- type = @"1";
- }
- if ([btnRow.tag isEqualToString:@"filePath"]) {
- type = @"2";
- }
- if ([btnRow.tag isEqualToString:@"filePath2"]) {
- type = @"3";
- }
- if ([btnRow.tag isEqualToString:@"filePath3"]) {
- type = @"4";
- }
-
-
- NSData *data = UIImageJPEGRepresentation(img,1.0);
- if (data.length > 50*1024) {
- //如果图片大于50kb 就压缩
- data = UIImageJPEGRepresentation(img,0.5);
- }
- NSString *imgString = [data base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
-
- NSMutableDictionary * mdic = [NSMutableDictionary new];
-
- [mdic setValue:@"" forKey:@"carId"];
- [mdic setValue:type forKey:@"type"];
- [mdic setValue:imgString forKey:@"content"];
-
- NSString *method = @"uploadCarImg";
-
- [MBProgressHUD showLoadToView:self.view];
- [NetManager requestAnythingWithURL:method dictionary:mdic dataArray:nil completion:^(NSDictionary *root) {
-
- [MBProgressHUD hideHUDForView:self.view];
-
- if (!root) {
- ShowMsg(@"照片上传失败,请重试");
- return;
- }
-
- ShowMsg(root[@"msg"]);
- if ([root[@"code"] integerValue] == 1) {
- return;
- }
-
- switch ([type integerValue]) {
- case 1:
- photoPath = root[@"body"];
- break;
- case 2:
- filePath = root[@"body"];
- break;
- case 3:
- filePath2 = root[@"body"];
- break;
- case 4:
- filePath3 = root[@"body"];
- break;
- default:
- break;
- }
-
- [btnRow.cellConfig setObject:img forKey:@"imageView.image"];
- [self.tableView reloadData];
- }];
- }
- - (void)addCar{
-
- //判断网络是否连接
- if (![NetManager connectedToNetWork]) {
- showMsgUnconnect();
- return;
- }
-
- NSMutableDictionary * mdic = [NSMutableDictionary new];
-
- NSDictionary *valueDic = [self formValues];
- [mdic setValue:defUser.userDict[@"id"] forKey:@"userId"];
- [mdic setValue:valueDic[@"licnum"] forKey:@"licnum"];
- [mdic setValue:valueDic[@"manufacture"] forKey:@"manufacture"];
- [mdic setValue:valueDic[@"brand"] forKey:@"brand"];
- [mdic setValue:valueDic[@"model"] forKey:@"model"];
-
- //颜色
- id option = valueDic[@"platecolor"];
- if (option != [NSNull null]) {
- [mdic setValue:[(XLFormOptionsObject *)option formValue] forKey:@"platecolor"];
- }else {
- [mdic setValue:@"" forKey:@"platecolor"];
- }
-
- //车型
- option = valueDic[@"perdritype"];
-
- if (option != [NSNull null]) {
- [mdic setValue:[(XLFormOptionsObject *)option formDisplayText] forKey:@"perdritype"];
- }else {
- [mdic setValue:@"" forKey:@"perdritype"];
- }
-
- [mdic setValue:valueDic[@"franum"] forKey:@"franum"];
- [mdic setValue:valueDic[@"engnum"] forKey:@"engnum"];
- [mdic setValue:valueDic[@"insuranceNum"] forKey:@"insuranceNum"];
- [mdic setValue:valueDic[@"insuranceMoney"] forKey:@"insuranceMoney"];
- [mdic setValue:valueDic[@"insuranceLimitTime"] forKey:@"insuranceLimitTime"];
-
-
- NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
- formatter.dateFormat = @"yyyy-MM-dd";
- NSString *dateString = @"";
- if (valueDic[@"buydate"]) {
- dateString = [formatter stringFromDate:valueDic[@"buydate"]];
- }
- [mdic setValue:dateString forKey:@"buydate"];
-
- dateString = @"";
- if (valueDic[@"insuranceStartTime"]) {
- dateString = [formatter stringFromDate:valueDic[@"insuranceStartTime"]];
- }
- [mdic setValue:dateString forKey:@"insuranceStartTime"];
-
- dateString = @"";
- if (valueDic[@"checkTime1"]) {
- dateString = [formatter stringFromDate:valueDic[@"checkTime1"]];
- }
- [mdic setValue:dateString forKey:@"checkTime1"];
-
- dateString = @"";
- if (valueDic[@"nextTime1"]) {
- dateString = [formatter stringFromDate:valueDic[@"nextTime1"]];
- }
- [mdic setValue:dateString forKey:@"nextTime1"];
-
- dateString = @"";
- if (valueDic[@"checkTime2"]) {
- dateString = [formatter stringFromDate:valueDic[@"checkTime2"]];
- }
- [mdic setValue:dateString forKey:@"checkTime2"];
-
- dateString = @"";
- if (valueDic[@"nextTime2"]) {
- dateString = [formatter stringFromDate:valueDic[@"nextTime2"]];
- }
- [mdic setValue:dateString forKey:@"nextTime2"];
-
-
- [mdic setValue:photoPath forKey:@"photoPath"];
- [mdic setValue:filePath forKey:@"filePath"];
- [mdic setValue:filePath2 forKey:@"filePath2"];
- [mdic setValue:filePath3 forKey:@"filePath3"];
-
- NSString *method = @"addCar";
-
- [MBProgressHUD showLoadToView:self.view];
- [NetManager requestAnythingWithURL:method dictionary:mdic dataArray:nil completion:^(NSDictionary *root) {
-
- [MBProgressHUD hideHUDForView:self.view];
-
- if (!root) {
- ShowMsg(@"数据请求失败,请重试");
- return;
- }
- if ([root[@"code"] integerValue] == 1) {
- ShowMsg(root[@"msg"]);
- return;
- }
-
- [self.navigationController popViewControllerAnimated:YES];
- UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"温馨提示" message:root[@"msg"] delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
- [alert show];
- }];
- }
- - (void)didReceiveMemoryWarning {
- [super didReceiveMemoryWarning];
- }
- @end
|