NewClassroomVC.m 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. //
  2. // NewClassroomVC.m
  3. // LN_School
  4. //
  5. // Created by apple on 2017/12/12.
  6. // Copyright © 2017年 Danson. All rights reserved.
  7. //
  8. #import "NewClassroomVC.h"
  9. #import <XLForm.h>
  10. NSString *const classSchoolName = @"schoolName";
  11. NSString *const className = @"trName";
  12. NSString *const classAddress = @"trAddress";
  13. NSString *const classStuNum = @"trStuNum";
  14. NSString *const classArea = @"area";
  15. NSString *const classStartTime = @"startDate";
  16. NSString *const classEndTime = @"endDate";
  17. NSString *const classType = @"trType";
  18. @interface NewClassroomVC ()
  19. {
  20. NSDateFormatter *_dataFormatter;
  21. }
  22. @end
  23. @implementation NewClassroomVC
  24. -(instancetype)init
  25. {
  26. self = [super init];
  27. if (self){
  28. [self initializeForm];
  29. }
  30. return self;
  31. }
  32. -(void)initializeForm
  33. {
  34. XLFormDescriptor *form = [XLFormDescriptor formDescriptor];//创建表单
  35. form = [XLFormDescriptor formDescriptorWithTitle:@"新增理论教室"];
  36. XLFormSectionDescriptor *section = [XLFormSectionDescriptor formSectionWithTitle:@"必填项"]; //创建区
  37. [form addFormSection:section];
  38. //机构名
  39. XLFormRowDescriptor *row = [XLFormRowDescriptor formRowDescriptorWithTag:classSchoolName rowType:XLFormRowDescriptorTypeInfo title:@"所属机构"]; //创建cell
  40. row.value = defUser.userDict[@"schoolName"];
  41. [section addFormRow:row];
  42. //教室名称
  43. row = [XLFormRowDescriptor formRowDescriptorWithTag:className rowType:XLFormRowDescriptorTypeText title:@"教室名称"];
  44. [row.cellConfigAtConfigure setObject:@"请输入名称" forKey:@"textField.placeholder"];
  45. row.required = YES;
  46. [section addFormRow:row];
  47. //教室地址
  48. row = [XLFormRowDescriptor formRowDescriptorWithTag:classAddress rowType:XLFormRowDescriptorTypeText title:@"教室地址"];
  49. [row.cellConfigAtConfigure setObject:@"请输入地址" forKey:@"textField.placeholder"];
  50. row.required = YES;
  51. [section addFormRow:row];
  52. //最大人数
  53. row = [XLFormRowDescriptor formRowDescriptorWithTag:classStuNum rowType:XLFormRowDescriptorTypeInteger title:@"最大人数(个)"];
  54. row.required = YES;
  55. [row.cellConfigAtConfigure setObject:@"请输入最大限制人数(个)" forKey:@"textField.placeholder"];
  56. [row addValidator:[XLFormRegexValidator formRegexValidatorWithMsg:@"人数超出最大值" regex:@"^\\d{1,4}$"]];
  57. [section addFormRow:row];
  58. //教室面积(m2)
  59. row = [XLFormRowDescriptor formRowDescriptorWithTag:classArea rowType:XLFormRowDescriptorTypeInteger title:@"教室面积(m2)"];
  60. row.required = YES;
  61. [row.cellConfigAtConfigure setObject:@"请输入面积(m2)" forKey:@"textField.placeholder"];
  62. [row addValidator:[XLFormRegexValidator formRegexValidatorWithMsg:@"输入面积限制10个字符以内" regex:@"^\\d{1,10}$"]];
  63. [section addFormRow:row];
  64. // 开课时间
  65. row = [XLFormRowDescriptor formRowDescriptorWithTag:classStartTime rowType:XLFormRowDescriptorTypeTimeInline title:@"开课时间"];
  66. // NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"];
  67. // [row.cellConfigAtConfigure setObject:locale forKey:@"locale"];
  68. [row.cellConfigAtConfigure setObject:@(10) forKey:@"minuteInterval"];
  69. _dataFormatter=[[NSDateFormatter alloc]init];
  70. _dataFormatter.dateFormat=@"HH:mm";
  71. row.value = [_dataFormatter dateFromString:@"08:00"];
  72. row.required = YES;
  73. [section addFormRow:row];
  74. //下课时间
  75. row = [XLFormRowDescriptor formRowDescriptorWithTag:classEndTime rowType:XLFormRowDescriptorTypeTimeInline title:@"下课时间"];
  76. // [row.cellConfigAtConfigure setObject:locale forKey:@"locale"];
  77. [row.cellConfigAtConfigure setObject:@(10) forKey:@"minuteInterval"];
  78. NSString *str = @"17:00";
  79. row.value = [_dataFormatter dateFromString:str];
  80. row.required = YES;
  81. [section addFormRow:row];
  82. //教室类型 1 理论教室 2 模拟训练教学室 3 通用
  83. row = [XLFormRowDescriptor formRowDescriptorWithTag:classType rowType:XLFormRowDescriptorTypeSelectorPush title:@"教室类型"];
  84. row.required = YES;//需要下面判断
  85. NSMutableArray *arr = [NSMutableArray array];
  86. NSArray *titles = @[@"请选择",@"多媒体理论教室",@"模拟训练教学室",@"通用",@"教具教室"];
  87. for (int i=0; i<titles.count; i++) {
  88. [arr addObject:[XLFormOptionsObject formOptionsObjectWithValue:@(i) displayText:titles[i]]];
  89. }
  90. row.selectorOptions = arr;
  91. row.value = [XLFormOptionsObject formOptionsObjectWithValue:@(0) displayText:@"请选择"];
  92. [section addFormRow:row];
  93. //创建完所有cell后还要
  94. self.form = form;
  95. }
  96. - (void)viewDidLoad {
  97. [super viewDidLoad];
  98. [self goBackByNavigation];
  99. CGFloat bottomBtnH = 50;
  100. self.tableView.height = kSize.height-bottomBtnH-SafeAreaBottomHeight;
  101. UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
  102. btn.frame = CGRectMake(0, kSize.height-kNavOffSet-bottomBtnH- SafeAreaBottomHeight, kSize.width, bottomBtnH);
  103. [btn setTitle:@"保存" textColor:[UIColor whiteColor] font:Font17 fotState:UIControlStateNormal];
  104. btn.backgroundColor = defGreen;
  105. [btn addTarget:self action:@selector(btnClick) forControlEvents:UIControlEventTouchUpInside];
  106. [self.view addSubview:btn];
  107. }
  108. -(void)btnClick{
  109. //校验数据
  110. NSArray *arr = [self formValidationErrors];
  111. if ([arr count] != 0) {
  112. NSError *error = arr[0];
  113. ShowMsg(error.userInfo[@"NSLocalizedDescription"]);
  114. return;
  115. }
  116. NSDictionary *dataDic = [self formValues];
  117. XLFormOptionsObject *xb = dataDic[classType];
  118. if ([xb.displayText isEqualToString:@"请选择"]) {
  119. ShowMsg(@"请选择教室类型");
  120. return;
  121. }
  122. NSMutableDictionary *dic = [NSMutableDictionary dictionary];
  123. [dic setObject:defUser.userDict[@"id"] forKey:@"userId"];
  124. [dic setObject:defUser.userDict[@"school"] forKey:@"schoolId"];
  125. [dic setObject:dataDic[className] forKey:className];
  126. [dic setObject:dataDic[classAddress] forKey:classAddress];
  127. [dic setObject:dataDic[classStuNum] forKey:classStuNum];
  128. [dic setObject:dataDic[classArea] forKey:classArea];
  129. xb = dataDic[classType];
  130. [dic setObject:xb.formValue forKey:classType];
  131. [dic setObject:[_dataFormatter stringFromDate:dataDic[classStartTime]] forKey:classStartTime];
  132. [dic setObject:[_dataFormatter stringFromDate:dataDic[classEndTime]] forKey:classEndTime];
  133. NSString *method = @"addTheoryRoom";
  134. [MBProgressHUD showLoadToView:self.view];
  135. [NetManager requestAnythingWithURL:method dictionary:dic dataArray:nil completion:^(NSDictionary *root) {
  136. [MBProgressHUD hideHUDForView:self.view];
  137. if (!root) {
  138. ShowMsg(@"数据请求失败,请重试");
  139. return;
  140. }
  141. if ([root[@"code"] integerValue] == 1) {
  142. ShowMsg(root[@"msg"]);
  143. return;
  144. }
  145. // ShowMsg([NSString stringWithFormat:@"已成功添加%@报名点",dataDic[className]]);
  146. [self.navigationController popViewControllerAnimated:YES];
  147. UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"温馨提示" message:root[@"msg"] delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
  148. [alert show];
  149. }];
  150. }
  151. - (void)didReceiveMemoryWarning {
  152. [super didReceiveMemoryWarning];
  153. // Dispose of any resources that can be recreated.
  154. }
  155. @end