123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471 |
- //
- // CoachApplyVC.m
- // LN_School
- //
- // Created by EchoShacolee on 2017/12/12.
- // Copyright © 2017年 Danson. All rights reserved.
- //
- #import "CoachApplyVC.h"
- #import "CoaApplyProtocolCell.h"
- /*
- 教练:private Integer userId;//用户ID
- private String name;//姓名
- private String sex;//性别
- private String photoPath;//头像地址
- private String idcard;//身份证号
- private String employstatus; //供职状态(0:在职; 1:离职;)
- private String mobile; //手机号码
- private String hiredate; //入职日期
- private String drilicence; //驾驶证号
- private String fstdrilicdate; //驾驶证初领日期
- private String address; //联系地址
- private String teachpermitted; //准教车型(下列编码单选:A1,A2,A3,B1,B2,C1,C2,C3,C4,C5,D,E,F,M,N,P)
- private String tciType;//准教类型 1,实操 2,理论 3,实操+理论 4,模拟 5,实操+模拟 6,理论+模拟 7,实操+理论+模拟 8,科目鉴定(无)
- private String dripermitted; //准驾车型(下列编码单选:A1,A2,A3,B1,B2,C1,C2,C3,C4,C5,D,E,F,M,N,P)
-
- private String healthState;//健康情况
- private String eduLevel;//文化程度 0:无 1:博士 2:硕士 3:本科 4:大专 5:中专 6:高中 7:初中 8:小学
- private String origo;//籍贯
- private String isIllegal;//增加毒、酒、醉等88号文件的判断(1:否;2:是)
- private String occupationno; //职业资格证号
- private String occupationlevel; //职业资格等级(1:一级; 2:二级; 3:三级; 4:四级;)
- private String isAgeree;//是否同意协议 0 不同意 1 已同意
- */
- NSString *const kSchoolName = @"schoolName";
- NSString *const kName = @"name";
- NSString *const kSex = @"sex";
- NSString *const kPhotoPath = @"photoPath";
- NSString *const kIdcard = @"idcard";
- NSString *const kEmploystatus = @"employstatus";
- NSString *const kMobile = @"mobile";
- NSString *const kHiredate = @"hiredate";
- NSString *const kDrilicence = @"drilicence";
- NSString *const kFstdrilicdate = @"fstdrilicdate";
- NSString *const kAddress = @"address";
- NSString *const kTeachpermitted = @"teachpermitted";
- NSString *const kTciType = @"tciType";
- NSString *const kDripermitted = @"dripermitted";
- NSString *const kHealthState = @"healthState";
- NSString *const kEduLevel = @"eduLevel";
- NSString *const kOrigo = @"origo";
- NSString *const kIsIllegal = @"isIllegal";
- NSString *const kOccupationno = @"occupationno";
- NSString *const kOccupationlevel = @"occupationlevel";
- NSString *const kIsAgeree = @"isAgeree";
- @interface CoachApplyVC ()
- {
-
- UIImage *_defaultImg;
- }
- @end
- @implementation CoachApplyVC
- -(instancetype)init
- {
- self = [super init];
- if (self){
- [self initializeForm];
- }
- return self;
- }
- -(void)initializeForm
- {
- // XLFormDescriptor *form = [XLFormDescriptor formDescriptor];//创建表单
- XLFormDescriptor *form = [XLFormDescriptor formDescriptorWithTitle:@"新增教练"];
-
- XLFormSectionDescriptor *section = [XLFormSectionDescriptor formSectionWithTitle:@"必填项"]; //创建区
- [form addFormSection:section];
-
- //机构名
- XLFormRowDescriptor *row = [XLFormRowDescriptor formRowDescriptorWithTag:kSchoolName rowType:XLFormRowDescriptorTypeInfo title:@"所属机构"]; //创建cell
- row.value = defUser.userDict[@"schoolName"];
- [section addFormRow:row];
-
- //教练名
- row = [XLFormRowDescriptor formRowDescriptorWithTag:kName rowType:XLFormRowDescriptorTypeText title:@"姓名"];
- [row.cellConfigAtConfigure setObject:@"请输入姓名" forKey:@"textField.placeholder"];
- row.required = YES;
- [section addFormRow:row];
-
- //身份证
- row = [XLFormRowDescriptor formRowDescriptorWithTag:kIdcard rowType:XLFormRowDescriptorTypeText title:@"身份证号"];
- row.required = YES;
- [row.cellConfigAtConfigure setObject:@"请输入身份证号码" forKey:@"textField.placeholder"];
- NSString *regex2 = @"^(^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$)|(^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])((\\d{4})|\\d{3}[Xx])$)$";
- [row addValidator:[XLFormRegexValidator formRegexValidatorWithMsg:@"请输入正确身份证号码" regex: regex2]];
- [section addFormRow:row];
-
- // 手机号码
- row = [XLFormRowDescriptor formRowDescriptorWithTag:kMobile rowType:XLFormRowDescriptorTypePhone title:@"手机号码"];
- row.required = YES;
- [row.cellConfigAtConfigure setObject:@"请输入手机号码" forKey:@"textField.placeholder"];
- NSString * mobil = @"^1(3[0-9]|4[579]|5[0-35-9]|7[01356]|8[0-9])\\d{8}$";
- [row addValidator:[XLFormRegexValidator formRegexValidatorWithMsg:@"请输入正确手机号" regex:mobil]];
- [section addFormRow:row];
-
- //驾驶证号
- row = [XLFormRowDescriptor formRowDescriptorWithTag:kDrilicence rowType:XLFormRowDescriptorTypeNumber title:@"驾驶证号"];
- row.required = YES;
- [row.cellConfigAtConfigure setObject:@"请输入驾驶证号码" forKey:@"textField.placeholder"];
- [section addFormRow:row];
-
- //联系地址
- row = [XLFormRowDescriptor formRowDescriptorWithTag:kAddress rowType:XLFormRowDescriptorTypeText title:@"联系地址"];
- [row.cellConfigAtConfigure setObject:@"请输入联系地址" forKey:@"textField.placeholder"];
- row.required = YES;
- [section addFormRow:row];
-
- //头像
- row = [XLFormRowDescriptor formRowDescriptorWithTag:kPhotoPath rowType:XLFormRowDescriptorTypeImage title:@"设置头像"];
- row.required = YES;//这里的必要性判断会因为默认值无效,所以后面得另外判断
- _defaultImg = [UIImage imageNamed:@"default_headImg"];
- row.value = _defaultImg;
- [section addFormRow:row];
- //性别
- row = [XLFormRowDescriptor formRowDescriptorWithTag:kSex rowType:XLFormRowDescriptorTypeSelectorPush title:@"性别"];
- row.required = YES;
- row.selectorOptions = @[[XLFormOptionsObject formOptionsObjectWithValue:@(1) displayText:@"男"],
- [XLFormOptionsObject formOptionsObjectWithValue:@(2) displayText:@"女"]
- ];
- row.value = [XLFormOptionsObject formOptionsObjectWithValue:@(1) displayText:@"男"];
- [section addFormRow:row];
-
-
- //供职状态
- row = [XLFormRowDescriptor formRowDescriptorWithTag:kEmploystatus rowType:XLFormRowDescriptorTypeSelectorPush title:@"供职状态"];
- row.required = YES;
- row.selectorOptions = @[[XLFormOptionsObject formOptionsObjectWithValue:@(0) displayText:@"在职"],
- [XLFormOptionsObject formOptionsObjectWithValue:@(1) displayText:@"离职"]
- ];
- row.value = [XLFormOptionsObject formOptionsObjectWithValue:@(0) displayText:@"在职"];
- [section addFormRow:row];
-
-
- // 入职日期
- row = [XLFormRowDescriptor formRowDescriptorWithTag:kHiredate rowType:XLFormRowDescriptorTypeDateInline title:@"入职日期"];
- row.required = YES;
- row.value = [NSDate new];
- [row.cellConfigAtConfigure setObject:[NSLocale localeWithLocaleIdentifier:@"zh-Hans"] forKey:@"locale"];
- [section addFormRow:row];
-
-
- // 驾驶证初领日期
- row = [XLFormRowDescriptor formRowDescriptorWithTag:kFstdrilicdate rowType:XLFormRowDescriptorTypeDateInline title:@"驾驶证初领日期"];
- row.required = YES;
- row.value = [NSDate new];
- [row.cellConfigAtConfigure setObject:[NSLocale localeWithLocaleIdentifier:@"zh-Hans"] forKey:@"locale"];
- [section addFormRow:row];
-
-
- //准教车型
- row = [XLFormRowDescriptor formRowDescriptorWithTag:kTeachpermitted 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:kTciType rowType:XLFormRowDescriptorTypeSelectorPush title:@"准教类别"];
- row.required = YES;
- row.selectorOptions = @[
- [XLFormOptionsObject formOptionsObjectWithValue:@(0) displayText:@"请选择"],
- [XLFormOptionsObject formOptionsObjectWithValue:@(1) displayText:@"实操"],
- [XLFormOptionsObject formOptionsObjectWithValue:@(2) displayText:@"理论"],
- [XLFormOptionsObject formOptionsObjectWithValue:@(3) displayText:@"实操+理论"],
-
- [XLFormOptionsObject formOptionsObjectWithValue:@(4) displayText:@"模拟"],
- [XLFormOptionsObject formOptionsObjectWithValue:@(5) displayText:@"实操+模拟"],
-
- [XLFormOptionsObject formOptionsObjectWithValue:@(6) displayText:@"理论+模拟"],
- [XLFormOptionsObject formOptionsObjectWithValue:@(7) displayText:@"实操+理论+模拟"]
- ];
- row.value = [XLFormOptionsObject formOptionsObjectWithValue:@(0) displayText:@"请选择"];
- [section addFormRow:row];
-
- //准驾车型
- row = [XLFormRowDescriptor formRowDescriptorWithTag:kDripermitted 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:kHealthState rowType:XLFormRowDescriptorTypeSelectorPush title:@"健康情况"];
- row.required = YES;
- row.selectorOptions = @[[XLFormOptionsObject formOptionsObjectWithValue:@(1) displayText:@"健康"],
- [XLFormOptionsObject formOptionsObjectWithValue:@(2) displayText:@"亚健康"],
- [XLFormOptionsObject formOptionsObjectWithValue:@(3) displayText:@"疾病"]
- ];
- row.value = [XLFormOptionsObject formOptionsObjectWithValue:@(1) displayText:@"健康"];
- [section addFormRow:row];
-
- //文化程度 //0:无 1:博士 2:硕士 3:本科 4:大专 5:中专 6:高中 7:初中 8:小学
- row = [XLFormRowDescriptor formRowDescriptorWithTag:kEduLevel rowType:XLFormRowDescriptorTypeSelectorPush title:@"文化程度"];
- row.required = YES;
- NSMutableArray *arr = [NSMutableArray array];
- NSArray *titles = @[@"无",@"博士",@"硕士",@"本科",@"大专",@"中专",@"高中",@"初中",@"小学"];
- for (int i=0; i<titles.count; i++) {
- [arr addObject:[XLFormOptionsObject formOptionsObjectWithValue:@(i) displayText:titles[i]]];
- }
- row.selectorOptions = arr;
- row.value = [XLFormOptionsObject formOptionsObjectWithValue:@(0) displayText:@"无"];
- [section addFormRow:row];
-
-
- //毒酒醉驾行为
- row = [XLFormRowDescriptor formRowDescriptorWithTag:kIsIllegal rowType:XLFormRowDescriptorTypeSelectorPush title:@"毒酒醉驾行为"];
- row.required = YES;
- row.selectorOptions = @[[XLFormOptionsObject formOptionsObjectWithValue:@(1) displayText:@"否"],
- [XLFormOptionsObject formOptionsObjectWithValue:@(2) displayText:@"是"]
- ];
- row.value = [XLFormOptionsObject formOptionsObjectWithValue:@(1) displayText:@"否"];
- [section addFormRow:row];
-
-
-
-
- XLFormSectionDescriptor *section2 = [XLFormSectionDescriptor formSectionWithTitle:@"可选填项"]; //创建区
- [form addFormSection:section2];
-
- //籍贯
- row = [XLFormRowDescriptor formRowDescriptorWithTag:kOrigo rowType:XLFormRowDescriptorTypeText title:@"籍贯"];
- [row.cellConfigAtConfigure setObject:@"请输入籍贯" forKey:@"textField.placeholder"];
- [section2 addFormRow:row];
-
- //职业资格证号
- row = [XLFormRowDescriptor formRowDescriptorWithTag:kOccupationno rowType:XLFormRowDescriptorTypeNumber title:@"职业资格证号"];
- [row.cellConfigAtConfigure setObject:@"请输入职业资格证号" forKey:@"textField.placeholder"];
- [section2 addFormRow:row];
-
- //职业资格等级(1:一级; 2:二级; 3:三级; 4:四级;)
- row = [XLFormRowDescriptor formRowDescriptorWithTag:kEduLevel rowType:XLFormRowDescriptorTypeSelectorPush title:@"职业资格等级"];
- arr = [NSMutableArray array];
- titles = @[@"请选择",@"一级",@"二级",@"三级",@"四级"];
- for (int i=0; i<titles.count; i++) {
- [arr addObject:[XLFormOptionsObject formOptionsObjectWithValue:@(i) displayText:titles[i]]];
- }
- row.selectorOptions = arr;
- row.value = [XLFormOptionsObject formOptionsObjectWithValue:@(0) displayText:@"请选择"];
- [section2 addFormRow:row];
-
-
- XLFormSectionDescriptor *section3 = [XLFormSectionDescriptor formSectionWithTitle:@""]; //创建区
- [form addFormSection:section3];
- //协议
- row = [XLFormRowDescriptor formRowDescriptorWithTag:kIsAgeree rowType:XLFormRowDescriptorTypeLeeSureProtocal title:@""];
- [row addValidator:[XLFormRegexValidator formRegexValidatorWithMsg:@"请阅读相关教练协议并同意" regex:@"^1"]];//表示只能==1,zz
- row.value = @"0";
- [section3 addFormRow:row];
- //创建完所有cell后还要
- self.form = form;
- }
- - (void)viewDidLoad {
- [super viewDidLoad];
-
- [self goBackByNavigation];
-
- 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(btnClick) forControlEvents:UIControlEventTouchUpInside];
- [self.view addSubview:btn];
- }
- -(void)btnClick{
-
- //校验数据
- NSArray *arr = [self formValidationErrors];
- if ([arr count] != 0) {
- NSError *error = arr[0];
- ShowMsg(error.userInfo[@"NSLocalizedDescription"]);
- return;
- }
- XLFormOptionsObject *xb = [self formValues][kTciType];
- if ([xb.displayText isEqualToString:@"请选择"]) {
- ShowMsg(@"有必填项待选择");
- return;
- }
-
-
- //传照片
- UIImage *img = [self formValues][kPhotoPath];
- if ([img isEqual: _defaultImg]) {
- ShowMsg(@"请上传教练头像");
- return;
- }
- [self uploadCoachHeadImg:img];
-
- }
- #pragma mark - 上传头像
- -(void)uploadCoachHeadImg:(UIImage*)image
- {
-
- NSData *data = UIImagePNGRepresentation([image scaledToWid:100]);
- NSString *imgString = [data base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
-
- NSMutableDictionary *dic = [NSMutableDictionary dictionary];
-
- [dic setObject:imgString forKey:@"content"];
-
- NSString *method = @"uploadCoachPhoto";
- [MBProgressHUD showLoadToView:self.view];
- [NetManager requestAnythingWithURL:method dictionary:dic dataArray:nil completion:^(NSDictionary *root) {
-
- [MBProgressHUD hideHUDForView:self.view];
-
- if (!root) {
- ShowMsg(@"上传头像失败!");
- return;
- }
- if ([root[@"code"] isEqualToString:@"1"]) {
- ShowErrorMsg(root[@"msg"]);
- return;
- }
-
- //上传照片成功
- [self addCoachWithImgPath:root[@"body"]];
- }];
-
- }
- -(void)addCoachWithImgPath:(NSString *)imgPath{
-
- NSDictionary *dataDic = [self formValues];
- __block NSMutableDictionary *dic = [NSMutableDictionary dictionary];
- [dic setObject:defUser.userDict[@"id"] forKey:@"userId"];
-
-
- //这里面写return无效
- [dataDic enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
-
- if (key!=kSchoolName) {
-
- if ([obj isKindOfClass:[XLFormOptionsObject class]]) {
-
- XLFormOptionsObject *xb = obj;
-
- NSString *str = [NSString stringWithFormat:@"%@",xb.formValue];
- if ([key isEqualToString:kTeachpermitted] || [key isEqualToString:kDripermitted]) {
- str = xb.displayText;
- }else if([key isEqualToString:kOccupationlevel] ){
- str = @"";
- }
- [dic setObject:str forKey:key];
-
- }else if ([key isEqualToString:kPhotoPath]){
-
- [dic setObject:imgPath forKey:key];//头像
- }else{
-
- if (obj != [NSNull null]) {
- NSString *str = [NSString stringWithFormat:@"%@",obj];
- if ([str containsString:@"+0000"]) {//2017-12-12 11:09:37 +0000
- NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
- [dateFormatter setDateFormat:@"yyyy-MM-dd"];
- str = [dateFormatter stringFromDate:obj];
- }
- [dic setObject:str forKey:key];
- }
- }
-
- }
-
- }];
-
- NSString *method = @"addCoach";
- [MBProgressHUD showLoadToView:self.view];
- [NetManager requestAnythingWithURL:method dictionary:dic dataArray:nil completion:^(NSDictionary *root) {
-
- [MBProgressHUD hideHUDForView:self.view];
-
- if (!root) {
- ShowMsg(@"数据请求失败,请重试");
- return;
- }
- if ([root[@"code"] integerValue] == 1) {
- ShowMsg(root[@"msg"]);
- return;
- }
- if ([root[@"code"] integerValue] == 2) {
- ShowMsg(root[@"msg"]);
- }
-
- ShowMsg([NSString stringWithFormat:@"已成功添加%@教练",dataDic[kName]]);
- if (self.block) {
- self.block();
- }
- [self.navigationController popViewControllerAnimated:YES];
- UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"温馨提示" message:root[@"msg"] delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
- [alert show];
- }];
- }
- - (void)didReceiveMemoryWarning {
- [super didReceiveMemoryWarning];
- // Dispose of any resources that can be recreated.
- }
- /*
- #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
|