ChosePersonViewController.m 6.49 KB
Newer Older
n22's avatar
n22 committed
1 2 3 4 5 6 7 8 9
//
//  ChosePersonViewController.m
//  XFFruit
//
//  Created by 陈俊俊 on 15/8/6.
//  Copyright (c) 2015年 Xummer. All rights reserved.
//

#import "ChosePersonViewController.h"
陈俊俊's avatar
陈俊俊 committed
10
#import "SurveyUser.h"
n22's avatar
n22 committed
11
#import "User.h"
陈俊俊's avatar
陈俊俊 committed
12 13
#define TopMargin 50
#define TableHeight 50
陈俊俊's avatar
陈俊俊 committed
14 15
@interface ChosePersonViewController ()
{
n22's avatar
n22 committed
16 17 18 19 20 21 22
}
@end

@implementation ChosePersonViewController

- (void)viewDidLoad {
    [super viewDidLoad];
陈俊俊's avatar
陈俊俊 committed
23 24
    self.currentPage = 0;
    self.tableStr = GXF_BASECLASS_USER;
陈俊俊's avatar
陈俊俊 committed
25 26
    self.tableView.header.lastUpdatedTimeKey = ChoosePersonUpdateDate;
    self.title = @"选择人员";
陈俊俊's avatar
陈俊俊 committed
27
    [self fetchDataList:@"" tableStr:GXF_BASECLASS_USER];
n22's avatar
n22 committed
28
}
n22's avatar
n22 committed
29

陈俊俊's avatar
陈俊俊 committed
30
- (void)getBaseDataFromServerWithStartDate:(NSString *)startDate{
n22's avatar
n22 committed
31
    __weak typeof(self)weakSelf = self;
n22's avatar
n22 committed
32
    void(^succ)(id) = ^(id data) {
n22's avatar
n22 committed
33
        __strong __typeof(weakSelf)strongSelf = weakSelf;
陈俊俊's avatar
陈俊俊 committed
34 35 36
        //请求成功之后
        strongSelf.startDate = startDate;
        [strongSelf getLastDateFromServer:data];
n22's avatar
n22 committed
37 38 39 40
    };
    void(^fail)(id) = ^(id data) {
        [IBTLoadingView hideHUDWithText:nil];
        [IBTLoadingView showTips:data];
陈俊俊's avatar
陈俊俊 committed
41
        [self endRefreshing];
n22's avatar
n22 committed
42
    };
陈俊俊's avatar
陈俊俊 committed
43 44 45 46 47
    if (self.currentPage == 0) {
        [IBTLoadingView showProgressLabel:@"正在加载..."];
    }
    [[ICRHTTPController sharedController] getUserWithStartDate:startDate
     Page_number:self.currentPage page_size:100 success:succ failure:fail];
n22's avatar
n22 committed
48
}
陈俊俊's avatar
陈俊俊 committed
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
- (void)getLastDateFromServer:(id)data
{
    if (data) {
        NSDictionary *pageDict = data[ @"data" ][ @"paging" ];
        NSInteger pageCount = [pageDict[@"pageCount"] integerValue];
        if (pageCount <= self.currentPage) {
            [self endRefreshing];
            [IBTLoadingView hideHUDWithText:nil];
            [self fetchDataList:@"" tableStr:GXF_BASECLASS_USER];
        }else{
            self.currentPage++;
            [self getBaseDataFromServerWithStartDate:self.startDate];
        }
    }else{
        [IBTLoadingView hideHUDWithText:nil];
        [IBTLoadingView showTips:data];
    }
    
}


n22's avatar
n22 committed
70
#pragma mark -成功
n22's avatar
n22 committed
71
- (void)sureClick{
n22's avatar
n22 committed
72 73 74 75 76 77 78 79 80 81
    if (self.isMoreChose) {
        NSMutableArray *arr = [[NSMutableArray alloc]init];
        for (NSIndexPath *index in self.indexArr) {
            User *user = self.dataArr[index.row];
            SurveyUser * survey = [[SurveyUser alloc]init];
            survey.userUuid = user.uuid;
            survey.userCode = user.login;
            survey.userName = user.name;
            [arr addObject:survey];
        }
陈俊俊's avatar
陈俊俊 committed
82
        self.choseBaseInfo(arr);
n22's avatar
n22 committed
83
    }else{
n22's avatar
n22 committed
84 85
        NSMutableArray *arr = [[NSMutableArray alloc]init];
        if (self.dataArr.count > 0) {
陈俊俊's avatar
陈俊俊 committed
86 87
            if (self.currentIndexPath) {
                User *user = self.dataArr[self.currentIndexPath.row];
n22's avatar
n22 committed
88 89 90 91 92
                SurveyUser * survey = [[SurveyUser alloc]init];
                survey.userUuid = user.uuid;
                survey.userCode = user.login;
                survey.userName = user.name;
                [arr addObject:survey];
陈俊俊's avatar
陈俊俊 committed
93
                self.choseBaseInfo(arr);
n22's avatar
n22 committed
94
            }
n22's avatar
n22 committed
95
        }
陈俊俊's avatar
陈俊俊 committed
96
    }
n22's avatar
n22 committed
97 98 99 100 101 102 103 104 105 106 107 108 109
    [self PopViewControllerAnimated:YES];
}

#pragma mark - 协议方法
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *cellID = @"MaskCell";
    MaskCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
    if (cell == nil) {
        cell = [[MaskCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID totalWidth:ScreenSize.width totalHeight:TableHeight];
        tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
        cell.Commitbtn.hidden = YES;
    }
n22's avatar
n22 committed
110 111 112
    if (self.isMoreChose) {
        if ([self isHaveIndexPath:indexPath]) {
            cell.Commitbtn.hidden = NO;
陈俊俊's avatar
陈俊俊 committed
113
            cell.titleLabel.textColor = BASESELECT_COLOR;
n22's avatar
n22 committed
114 115
        }else{
            cell.Commitbtn.hidden = YES;
陈俊俊's avatar
陈俊俊 committed
116
            cell.titleLabel.textColor = [UIColor blackColor];
n22's avatar
n22 committed
117
        }
n22's avatar
n22 committed
118
    }else{
陈俊俊's avatar
陈俊俊 committed
119 120
        if (self.currentIndexPath) {
            if (indexPath.row == self.currentIndexPath.row) {
n22's avatar
n22 committed
121
                cell.Commitbtn.hidden = NO;
陈俊俊's avatar
陈俊俊 committed
122
                cell.titleLabel.textColor = BASESELECT_COLOR;
n22's avatar
n22 committed
123 124
            }else{
                cell.Commitbtn.hidden = YES;
陈俊俊's avatar
陈俊俊 committed
125
                cell.titleLabel.textColor = [UIColor blackColor];
n22's avatar
n22 committed
126 127 128
            }
        }else{
            cell.Commitbtn.hidden = YES;
陈俊俊's avatar
陈俊俊 committed
129
            cell.titleLabel.textColor = [UIColor blackColor];
n22's avatar
n22 committed
130
        }
n22's avatar
n22 committed
131
    }
陈俊俊's avatar
陈俊俊 committed
132

n22's avatar
n22 committed
133
    if (self.dataArr.count > 0) {
陈俊俊's avatar
陈俊俊 committed
134 135 136 137 138 139
        if (indexPath.row == 0) {
            NSString *dateStr = [self.dataArr[indexPath.row] httpParameterString];
            cell.titleLabel.textColor = GXF_CONTENT_COLOR;
            [cell setTitleStr:[NSString stringWithFormat:@"上次更新时间:%@",dateStr]];
        }else{
            User *user =  self.dataArr[indexPath.row];
陈俊俊's avatar
陈俊俊 committed
140
            [cell setTitleStr:[NSString stringWithFormat:@"%@[%@]",user.name,user.login]];
陈俊俊's avatar
陈俊俊 committed
141
        }
陈俊俊's avatar
陈俊俊 committed
142
    }
n22's avatar
n22 committed
143 144
    return cell;
}
陈俊俊's avatar
陈俊俊 committed
145 146
- (void)boxValueChanged:(NSNotification *)fication{
    NSString *tilkeStr = [IBTCommon trimmingCharacters:self.selectTextFiled.text];
陈俊俊's avatar
陈俊俊 committed
147
    [self fetchDataList:tilkeStr tableStr:GXF_BASECLASS_USER];
n22's avatar
n22 committed
148 149
}

陈俊俊's avatar
陈俊俊 committed
150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183
- (void)tableViewRefresh:(NSString *)titltstr{
    if (titltstr.length > 0) {
        [super tableViewRefresh:titltstr];
    }else{
        if (self.selectArr.count > 0) {
            if (self.isMoreChose) {
                for (NSInteger i = 1;i< self.dataArr.count; i++) {
                    User *user = self.dataArr[i];
                    for (NSString * surverUuid in self.selectArr) {
                        if ([user.uuid isEqualToString:surverUuid]) {
                            NSIndexPath *indexPath = [NSIndexPath indexPathForRow:i inSection:0];
                            [self.indexArr addObject:indexPath];
                            break;
                        }
                    }
                }
            }else{
                for (NSInteger i = 1;i< self.dataArr.count; i++) {
                    User *user = self.dataArr[i];
                    for (NSString * surverUuid in self.selectArr) {
                        if ([user.uuid isEqualToString:surverUuid]) {
                            NSIndexPath *indexPath = [NSIndexPath indexPathForRow:i inSection:0];
                            self.currentIndexPath = indexPath;
                            break;
                        }
                    }
                }
            }
            [self.tableView reloadData];
        }else{
            [super tableViewRefresh:titltstr];
        }
    }
}
n22's avatar
n22 committed
184 185 186 187 188 189

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
}

@end