123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344 |
- //
- // QuitSch.m
- // LN_School
- //
- // Created by EchoShacolee on 2017/4/22.
- // Copyright © 2017年 Danson. All rights reserved.
- //
- #import "QuitSch.h"
- #import "ApplyQuit.h"//申请退学
- #import "QuitShcoolList.h"//是列表的cell
- #import "MJRefresh.h"
- #import "MengBanView.h"
- typedef NS_ENUM(NSInteger, MyGetDataType) {
- //正常请求数据
- MyGetDataTypeNomal=0,
- //下拉刷新请求数据
- MyGetDataTypeHeaderRefresh,
- //上拉加载更多请求数据
- MyGetDataTypeFooterRefresh
- };
- #define JOb_DETAIL_BOTTOMBAR_HEIGHT 50
- @interface QuitSch ()<UITableViewDelegate,UITableViewDataSource>
- {
- UITableView * _tableView;
- NSMutableArray *_dataSurce;
- NSMutableDictionary * _requestDic;
-
- //记录页书
- NSInteger _currentPageNum;
- //正在加载的状态
- BOOL _IS_LOADING;
- //加载数据的类型
- MyGetDataType _getDataType;
-
- //
- HolderView * _holderV;
-
- //搜索
- MengBanView * _mengBanView;
- NSString *_name;
- NSString *_cardNum;
- NSString *_startDate;
- NSString *_endDate;
-
- BOOL haveRequestPermission;
- }
- @end
- @implementation QuitSch
- - (void)viewDidLoad {
- [super viewDidLoad];
-
- self.navigationItem.title = @"退学学员列表";
- self.navigationController.navigationBar.translucent = NO;
- self.view.backgroundColor = KBackGroundColor;
- [self goBackByNavigation];
-
- _dataSurce = [NSMutableArray new];
- _currentPageNum = 0;
- _IS_LOADING = NO;
- _getDataType = MyGetDataTypeNomal;
- _name = @"";
- _cardNum = @"";
- _startDate = @"";
- _endDate = @"";
- [self setRefreshAction];
-
- [Tools permissionValidationWithID:@"1103" view:self.view result:^(BOOL isCan, NSString *failureStr) {
-
- [self myInitWithPermission:isCan];
- [self getData];
- }];
- }
- -(void)myInitWithPermission:(BOOL)permission{
-
- [self customRight];
-
- //处理底部”上拉加载更多“显示异常(5c,ios10)
- UIView *view = [[UIView alloc]init];
- [self.view addSubview:view];
-
- CGFloat tableHeight = kSize.height-kNavOffSet-SafeAreaBottomHeight;
- if (myDelegate.isSchool) {
- [self createBottomBarWithtoolTitles:@[@"登记"]];
- tableHeight = kSize.height-kNavOffSet-SafeAreaBottomHeight-(permission?JOb_DETAIL_BOTTOMBAR_HEIGHT:0);
- }
- _tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, kSize.width, tableHeight)];
- _tableView.dataSource = self;
- _tableView.delegate = self;
- [self.view addSubview:_tableView];
-
- _tableView.tableFooterView = [UIView new];
-
-
- _holderV = [[HolderView alloc]initWithFrame:_tableView.frame];
- [_holderV freshBlock:^{
- [self headerRefresh];
- }];
- [self.view addSubview:_holderV];
-
- }
- #pragma mark - 右上角btn
- -(void)customRight{
- UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
- btn.frame = CGRectMake(0, 0, 43, 44);
- btn.titleLabel.font = [UIFont systemFontOfSize:17];
- [btn setTitle:@"搜索" forState:UIControlStateNormal];
- [btn setTitleColor:defGreen forState:UIControlStateNormal];
- [btn addTarget:self action:@selector(setMengbanView) forControlEvents:UIControlEventTouchUpInside];
- self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:btn];
- }
- -(void)setMengbanView{
- if (_mengBanView) {
- [_mengBanView showView];
- return;
- }
-
- UITextField * tf = [[UITextField alloc] initWithFrame:CGRectZero];
- tf.placeholder = @"请输入学员姓名";
- tf.clearButtonMode = UITextFieldViewModeWhileEditing;
-
- UITextField * tf2 = [[UITextField alloc] initWithFrame:CGRectZero];
- tf2.keyboardType = UIKeyboardTypeNumbersAndPunctuation;
- tf2.placeholder = @"请输入学员证件号码";
- tf2.clearButtonMode = UITextFieldViewModeWhileEditing;
-
- NSString *start = @"开始时间";
- NSString *end = @"结束时间";
- NSArray * buttonsArray = @[@[@"3",tf],@[@"3",tf2],@[@"2",start],@[@"2",end]];
-
- _mengBanView = [[MengBanView alloc]initWithTitileStr:nil buttonsArray:buttonsArray isAllbtn:NO block:^(NSArray *array) {
-
- _name = array[0];
- _cardNum = array[1];
- _startDate = array[2];
- if ([_startDate isEqualToString:start]) {
- _startDate = @"";
- }
- _endDate = array[3];
- if ([_endDate isEqualToString:end]) {
- _endDate = @"";
- }
- [self getData];
- }];
- [_mengBanView showView];
- }
- #pragma mark 创建BottomBarButton
- -(void)createBottomBarWithtoolTitles:(NSArray *)toolTitles{
-
- float widthBtn = (kSize.width-1*toolTitles.count+1)/toolTitles.count;
- float HeightBth = JOb_DETAIL_BOTTOMBAR_HEIGHT;
- for (int i=0; i<toolTitles.count; i++) {
- UIButton * button = [UIButton buttonWithType:UIButtonTypeSystem];
- button.frame = CGRectMake(i*(widthBtn+1), kSize.height-HeightBth-kNavOffSet-SafeAreaBottomHeight, widthBtn, HeightBth);
- [button setTitle:toolTitles[i] forState:UIControlStateNormal];
- button.backgroundColor = defGreen;
- [button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
- [button addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];
- button.tag = 10+i;
-
- [self.view addSubview:button];
- }
- }
- -(void)buttonClick:(UIButton *)sender{
- switch (sender.tag) {
- case 10:
- {
- //登记申请
- ApplyQuit * vc = [[ApplyQuit alloc]init];
- __weak QuitSch * weakself = self;
- vc.blcok = ^{
- _currentPageNum = 0;
- [weakself getData];
- };
- [self navPushHideTabbarToVC:vc];
- }
- break;
-
- default:
- break;
- }
- }
- #pragma mark - 下拉刷新,上拉加载 -
- -(void)setRefreshAction{
-
- // 下拉刷新
- __weak typeof(self) weakSelf = self;
- MJRefreshNormalHeader *mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
- [weakSelf headerRefresh];
- }];
- _tableView.mj_header = mj_header;
-
- MJRefreshBackNormalFooter *mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{
- [weakSelf footerRefresh];
- }];
-
- _tableView.mj_footer = mj_footer;
-
- }
- #pragma mark - 数据加载更多和刷新 -
- -(void)headerRefresh{
- //设置获取数据的方式
- _getDataType=MyGetDataTypeHeaderRefresh;
- //加载数据
- [self getData];
- [_tableView.mj_header endRefreshing];
- }
- -(void)footerRefresh{
- //设置获取数据的方式
- _getDataType=MyGetDataTypeFooterRefresh;
- //加载数据
- [self getData];
- [_tableView.mj_footer endRefreshing];
- }
- -(void)getData{
-
- //判断当前是否正在加载数据。如果正在加载数据,直接return。
- if (_IS_LOADING) {
- return;
- }
-
- if (![NetManager connectedToNetWork]) {
- showMsgUnconnect();
- return;
- }
-
- _IS_LOADING=YES;
- //获取第一页数据
- NSInteger needLoadPage;
- needLoadPage=_currentPageNum+1;
- if (_getDataType==MyGetDataTypeHeaderRefresh) {
- needLoadPage=1;
- }
-
- NSMutableDictionary *dic = [NSMutableDictionary dictionary];
-
- [dic setObject:defUser.userDict[@"id"] forKey:@"userId"];
- [dic setObject:_name forKey:@"name"];
- [dic setObject:_cardNum forKey:@"idcard"];
- [dic setObject:_startDate forKey:@"startTime"];
- [dic setObject:_endDate forKey:@"endTime"];
- [dic setObject:@"1" forKey:@"isPage"];
- [dic setObject:@"10" forKey:@"pageSize"];
- [dic setObject:[NSString stringWithFormat:@"%ld",(long)needLoadPage] forKey:@"currentPage"];
-
- _requestDic = dic;
- [MBProgressHUD showLoadToView:self.view];
- [NetManager requestAnythingWithURL:@"quitStudents" dictionary:dic dataArray:nil completion:^(NSDictionary *root) {
-
- [MBProgressHUD hideHUDForView:self.view];
- _holderV.hidden = NO;
- //设置加载状态
- _IS_LOADING=NO;
-
- if (!root) {
- ShowErrorMsg(@"请求失败!");
- return;
- }
- if ([root[@"code"] isEqualToString:@"1"]) {
- ShowErrorMsg(root[@"msg"]);
- return;
- }
-
- //处理数据
- //如果获取到了数据,而且是下拉刷新,清空数组。
- if (_getDataType==MyGetDataTypeHeaderRefresh){
- [_dataSurce removeAllObjects];
- }
- //追加数据
- [_dataSurce addObjectsFromArray:root[@"body"]];
- if (_dataSurce.count != 0) {
- _holderV.hidden = YES;
- }
- //计数器+1
- _currentPageNum=needLoadPage;
-
- [_tableView reloadData];
-
- //恢复初始状态。
- _getDataType=MyGetDataTypeNomal;
-
- }];
- }
- #pragma mark tableview代理方法
- -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
-
- return _dataSurce.count;
- }
- -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
-
- return 115;
- }
- -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
-
- QuitShcoolList * cell = [tableView dequeueReusableCellWithIdentifier:@"cellId"];
- if (!cell) {
- cell = [[[NSBundle mainBundle] loadNibNamed:@"QuitShcoolList" owner:nil options:nil] lastObject];
- }
- cell.dataDic = _dataSurce[indexPath.row];
- return cell;
- }
- - (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
|