// // StudentList.m // LNManager // // Created by EchoShacolee on 2017/4/8. // Copyright © 2017年 lee. All rights reserved. // #import "StudentList.h" #import "StudentDetail.h" #import "StudentListCell.h" #import "FaceColloectVC.h" @interface StudentList () { UIView *headerView; } @property (nonatomic, strong) THDatePickerViewController * datePicker; @property (nonatomic, retain) NSDate * curDate; @property (nonatomic, retain) NSDateFormatter * formatter; @property (nonatomic, assign) NSInteger currentPage; @end @implementation StudentList - (void)viewDidLoad { [super viewDidLoad]; //@RQ-MARK 1.0.2修改:"人脸采集"模块展示单天报名学员(可进行人脸采集) self.navigationItem.title = (self.pageType == PageType_FaceCapture)? @"人脸采集学员列表" : @"学员列表"; if (self.pageType == PageType_FaceCapture) [self creatRightNavigationItem]; headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kSize.width, 50)]; headerView.backgroundColor = [UIColor whiteColor]; CGFloat wid = kSize.width/4.0 - 4.0; NSArray *titleArray = @[@"姓名",@"性别",@"车型",@"报名日期"]; for (int i = 0; i < 4; i ++) { UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(wid * i, 0, wid, 50)]; label.font = [UIFont systemFontOfSize:18 weight:14]; label.textAlignment = NSTextAlignmentCenter; label.text = titleArray[i]; [headerView addSubview:label]; } headerView.hidden = YES; self.tableView.tableHeaderView = headerView; [self.tableView registerNib:[UINib nibWithNibName:@"StudentListCell" bundle:nil] forCellReuseIdentifier:@"studentListCell"]; [self getData]; __weak typeof(self) weakSelf = self; self.holdervBlock = ^{ [weakSelf getData]; }; if (self.pageType == PageType_FaceCapture) [self creatRefresh]; } #pragma mark - UITableViewDataSource - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { StudentListCell *cell = [tableView dequeueReusableCellWithIdentifier:@"studentListCell" forIndexPath:indexPath]; if ([self.dataSource[indexPath.section] count] > 0) { cell.dataDic = self.dataSource[indexPath.section][indexPath.row]; } return cell; } #pragma mark - TableViewDelegate - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { if (self.pageType == PageType_FaceCapture) { [self goToFaceColloectVCWithIndexPath:indexPath]; }else if (self.pageType == PageType_StudentList) { StudentDetail * vc = [[StudentDetail alloc]init]; vc.dataSource = self.dataSource[indexPath.section][indexPath.row];//传入不再请求数据 [self navPushHideTabbarToVC:vc]; } } #pragma mark - Custom Way - (void)getData { NSMutableDictionary * mdic = [NSMutableDictionary new]; [mdic setValue:@"" forKey:@"isPage"]; [mdic setValue:@"" forKey:@"pageSize"]; [mdic setValue:@"" forKey:@"currentPage"]; [mdic setValue:defUser.userDict[@"id"] forKey:@"userId"]; [mdic setValue:defUser.userDict[@"dqbh"] forKey:@"dqbh"]; [mdic setValue:defUser.userDict[@"qxbh"] forKey:@"qxbh"]; [mdic setValue:defUser.userDict[@"school"] forKey:@"school"]; [mdic setValue:@"" forKey:@"isActive"]; [mdic setValue:@"" forKey:@"logout"]; [mdic setValue:@"" forKey:@"sex"]; [mdic setValue:@"" forKey:@"subject"]; [mdic setValue:@"" forKey:@"trainType"]; [mdic setValue:@"" forKey:@"name"]; [mdic setValue:@"" forKey:@"idcard"]; [mdic setValue:@"" forKey:@"phone"]; [mdic setValue:self.pageType == PageType_FaceCapture? [self.formatter stringFromDate:self.curDate] : @"" forKey:@"startTime"]; [mdic setValue:self.pageType == PageType_FaceCapture? [self.formatter stringFromDate:self.curDate] : @"" forKey:@"endTime"]; self.requsetDic = mdic; [self getDataWithDic:mdic method:@"students" block:^(NSDictionary *successdic) { NSLog(@"successdic----><>%@",successdic); NSArray * arr = successdic[@"body"]; if (arr.count != 0) { self.holderV.hidden = YES; self->headerView.hidden = NO; } if (self.currentPage == 0) { [self.dataSource removeAllObjects]; [self.sectionTitles removeAllObjects]; } for (NSDictionary * dic in arr) { if (![self.sectionTitles containsObject:dic[@"ZM"]]) { [self.sectionTitles addObject:dic[@"ZM"]]; [self.dataSource addObject:[NSMutableArray new]]; } } //排序 [self.sectionTitles sortUsingSelector:@selector(compare:)]; for (NSDictionary * dic in arr) { NSInteger location = [self.sectionTitles indexOfObject:dic[@"ZM"]]; [self.dataSource[location] addObject:dic]; } [self endRefreshing]; [self.tableView reloadData]; }]; } - (void)creatRefresh { self.tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ _currentPage = 0; [self getData]; }]; } - (void)endRefreshing { [self.tableView.mj_header endRefreshing]; [self.tableView.mj_footer endRefreshing]; } - (void)creatRightNavigationItem { self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"选择日期" style:UIBarButtonItemStylePlain target:self action:@selector(rightNavigationItemClick)]; [self.navigationItem.rightBarButtonItem setTintColor:RQMianColor]; } - (void)rightNavigationItemClick { self.datePicker.date = self.curDate; [self presentSemiViewController:self.datePicker withOptions:@{ KNSemiModalOptionKeys.pushParentBack : @(NO), KNSemiModalOptionKeys.animationDuration : @(0.3), KNSemiModalOptionKeys.shadowOpacity : @(0.3), }]; } - (void)goToFaceColloectVCWithIndexPath:(NSIndexPath *)indexPath { FaceColloectVC *faceVC = [[FaceColloectVC alloc] init]; faceVC.keyWord = self.dataSource[indexPath.section][indexPath.row][@"TSO_IDCARD"]; faceVC.currentDate = self.curDate; [self navPushHideTabbarToVC:faceVC]; } #pragma mark - THDatePickerDelegate - (void)datePickerDonePressed:(THDatePickerViewController *)datePicker { self.curDate = datePicker.date; [self getData]; [self dismissSemiModalView]; } - (void)datePickerCancelPressed:(THDatePickerViewController *)datePicker { [self dismissSemiModalView]; } - (void)datePicker:(THDatePickerViewController *)datePicker selectedDate:(NSDate *)selectedDate { NSLog(@"Date selected: %@",[self.formatter stringFromDate:selectedDate]); } #pragma mark - Lazy Loading - (THDatePickerViewController *)datePicker { if (!_datePicker) { _datePicker = [THDatePickerViewController datePicker]; _datePicker.delegate = self; _datePicker.currentDateColorSelected = RQMianColor;//当前日期被选中颜色 _datePicker.currentDateColor = [UIColor redColor];//当前日期颜色 _datePicker.selectedBackgroundColor = [UIColor lightGrayColor];//选中日期背景色 [_datePicker setDisableYearSwitch:YES];//关闭左右滑动切换年 [_datePicker setAllowClearDate:NO]; [_datePicker setClearAsToday:YES]; [_datePicker setAutoCloseOnSelectDate:NO]; [_datePicker setAllowSelectionOfSelectedDate:YES]; [_datePicker setDaysInHistorySelection:0]; [_datePicker setDaysInFutureSelection:0]; _datePicker.rounded = YES; } return _datePicker; } - (NSDate *)curDate { if (!_curDate) { _curDate = [NSDate date]; } return _curDate; } - (NSDateFormatter *)formatter { if (!_formatter) { _formatter = [[NSDateFormatter alloc] init]; [_formatter setDateFormat:@"yyyy-MM-dd"]; } return _formatter; } - (NSInteger)currentPage { if (!_currentPage) { _currentPage = 0; } return _currentPage; } @end