QuestionViewController.m 38.9 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11
//
//  QuestionViewController.m
//  redstar
//
//  Created by admin on 15/11/2.
//  Copyright © 2015年 ZWF. All rights reserved.
//

#import "QuestionViewController.h"
#import "QuestionListTableCell.h"
#import "MenuButton.h"
12
#import "QuestionDetailViewController.h"
admin's avatar
admin committed
13
#import "AddQuestionViewController.h"
admin's avatar
admin committed
14 15
#import "HttpClient.h"
#import "QuestionModel.h"
16
#import "SearchToolBar.h"
17
#import "MoreTaxisView.h"
admin's avatar
admin committed
18
#import "MoreScreenView.h"
19 20
#import "MenuView.h"
#import "CustomDropMenuView.h"
admin's avatar
admin committed
21

22 23
#import "NoDataView.h"
#import <MBProgressHUD.h>
admin's avatar
admin committed
24
#import "UIImage+Fit.h"
admin's avatar
admin committed
25 26
#import <MJRefresh.h>

27 28
#define kQuestionListCell @"questionListTableViewCell"
#define kThumbTag 745645
admin's avatar
admin committed
29

30
@interface QuestionViewController () <UITextFieldDelegate,UITableViewDelegate, UITableViewDataSource, MoreTaxisViewDelegate, ScopeTableViewDelegate, GroupTableViewDelegate, CategoryTableViewDelegate, StateTableViewDelegate, TimeTableViewDelegate>
31
@property (nonatomic, strong) UITableView *tableView;
admin's avatar
admin committed
32 33
@property (nonatomic, strong) NSMutableArray *allQuestionArray;

34 35 36
@property (nonatomic, strong) SearchToolBar *searchBar;
@property (nonatomic, strong) MenuView *menuView;

37
@property (nonatomic, strong) MoreTaxisView *taxisView;
admin's avatar
admin committed
38
@property (nonatomic, strong) MoreScreenView *screenView;
39

40 41
@property (nonatomic, strong) UIView *bgView;
@property (nonatomic, strong) MenuButton *selctedButton;
42 43 44
@property (nonatomic, strong) UIButton *selectBtn;

@property (nonatomic, strong) NoDataView *noDataView;
45

admin's avatar
admin committed
46 47
@property (nonatomic, assign) NSInteger page;

admin's avatar
admin committed
48
@property (nonatomic, assign) NSInteger scopeRow;
49
// 分组
admin's avatar
admin committed
50 51
@property (nonatomic, assign) NSInteger groupRow;
@property (nonatomic, strong) NSMutableArray *allGroupNameArray;
52
@property (nonatomic, strong) NSArray *queryOrders;
53 54
// 分类
@property (nonatomic, copy) NSString *categoryName;
admin's avatar
admin committed
55 56 57
@property (nonatomic, assign) NSInteger stateRow;
@property (nonatomic, assign) NSInteger timeRow;

admin's avatar
admin committed
58
@property (nonatomic, strong) NSLayoutConstraint *searchBottom;
59 60 61 62 63 64 65 66
@end

@implementation QuestionViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    
67 68
    self.view.backgroundColor = [UIColor whiteColor];
    
admin's avatar
admin committed
69 70 71 72 73 74
    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
        self.edgesForExtendedLayout = UIRectEdgeNone;
        self.extendedLayoutIncludesOpaqueBars = NO;
        self.modalPresentationCapturesStatusBarAppearance = NO;
        self.navigationController.navigationBar.translucent = NO;
    }
75 76
    
    [self setupNav];
admin's avatar
admin committed
77
    
78
    
admin's avatar
admin committed
79 80 81 82 83
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(requestQuestionList)
                                                 name:kRefreshQuestionNotification
                                               object:nil];
    
admin's avatar
admin committed
84
    _page = 0;
admin's avatar
admin committed
85 86 87 88
    _groupRow = 0;
    [self requestGroupTitle];

}
89

admin's avatar
admin committed
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
// 请求问题专业组
- (void)requestGroupTitle
{
    self.allGroupNameArray = [NSMutableArray array];
    HttpClient *httpClient = [[HttpClient alloc] initWithUrl:[NSString stringWithFormat:@"%@%@", kRedStarURL, kQuestionGroupURL]];
    [httpClient getQuestionGroupWithCompletion:^(id response, NSError *error) {
        NSDictionary *dataDict = response[@"data"];
        NSArray *dataArray = dataDict[@"records"];
        NSMutableDictionary *dict = [NSMutableDictionary dictionary];
        NSMutableArray *nameArray = [NSMutableArray array];
        for (NSDictionary *groupDict in dataArray) {
            NSString *name = [NSString stringWithFormat:@"%@", groupDict[@"name"]];
            NSString *groupUuid = [NSString stringWithFormat:@"%@", groupDict[@"uuid"]];
            [dict setObject:groupUuid forKey:name];
            [nameArray addObject:name];
        }
        [[NSUserDefaults standardUserDefaults] setObject:dict forKey:@"groupTitle"];
        [[NSUserDefaults standardUserDefaults] setObject:nameArray forKey:@"groupAllName"];
        _allGroupNameArray = nameArray;
    }];
110 111
}

admin's avatar
admin committed
112 113 114 115 116
- (void)dealloc
{
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}

117 118 119
- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
120
    self.tabBarController.tabBar.hidden = YES;
admin's avatar
admin committed
121 122
    self.menuView.backgroundColor = kInspectSectionBackGroundColor;

admin's avatar
admin committed
123
    [self requestQuestionList];
124 125 126
}


127 128

#pragma mark - Private Methods
admin's avatar
admin committed
129 130
- (void)requestQuestionList
{
admin's avatar
admin committed
131
    // 请求地址
admin's avatar
admin committed
132
    NSString *urlStr = [NSString stringWithFormat:@"%@%@", kRedStarURL, kQuestionListURL];
133 134
    NSString *user_uuid = [[NSUserDefaults standardUserDefaults] objectForKey:@"user_uuid"];

135 136 137
    NSArray *queryOrders = @[@{@"field":@"resolveTime",
                      @"direction":@"desc"}];
    _queryOrders = queryOrders;
admin's avatar
admin committed
138
    // 请求参数
admin's avatar
admin committed
139
    NSDictionary *parameters = @{@"user":user_uuid,
admin's avatar
admin committed
140
                                 @"scope":@"all",
141
                                 @"pageNumber":@(0),
142 143
                                 @"pageSize":@(20),
                                 @"queryOrders":queryOrders
admin's avatar
admin committed
144
                                 };
145 146


admin's avatar
admin committed
147 148 149 150
    // 发起请求
    HttpClient *httpClient = [[HttpClient alloc] initWithUrl:urlStr];
    //
    __block QuestionViewController *weakSelf = self;
151 152
    
    [MBProgressHUD showHUDAddedTo:self.view animated:YES];
admin's avatar
admin committed
153 154 155 156
    // 请求问题列表
    [httpClient getQuestionListWithParameters:parameters completion:^(id response, NSError *error) {
        NSDictionary *dataDict = (NSDictionary *)response[@"data"];
        NSDictionary *recordsDict = (NSDictionary *)dataDict[@"records"];
admin's avatar
admin committed
157
        NSMutableArray *tempArray  = [NSMutableArray array];
admin's avatar
admin committed
158 159 160
        for (NSDictionary *questionDict in recordsDict) {
            QuestionModel *question = [[QuestionModel alloc] init];
            [question setValuesForKeysWithDictionary:questionDict];
admin's avatar
admin committed
161
            [tempArray addObject:question];
admin's avatar
admin committed
162
        }
admin's avatar
admin committed
163
        _allQuestionArray = [NSMutableArray arrayWithArray:tempArray];
164 165 166 167 168
        if (_allQuestionArray.count == 0) {
            weakSelf.noDataView.backgroundColor = [UIColor whiteColor];
            [MBProgressHUD hideHUDForView:self.view animated:YES];
        } else {
            [weakSelf setupTableView];
admin's avatar
admin committed
169
            
admin's avatar
admin committed
170
            self.tableView.footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{
admin's avatar
admin committed
171 172
                [self requestMoreList];
            }];
admin's avatar
admin committed
173
            [self.tableView reloadData];
174 175
            [MBProgressHUD hideHUDForView:self.view animated:YES];
        }
admin's avatar
admin committed
176
        [MBProgressHUD hideHUDForView:self.view animated:YES];
177
        
admin's avatar
admin committed
178 179
    }];
}
180

admin's avatar
admin committed
181 182 183 184 185 186
- (void)requestMoreList
{
    _page++;
    // 请求地址
    NSString *urlStr = [NSString stringWithFormat:@"%@%@", kRedStarURL, kQuestionListURL];
    NSString *user_uuid = [[NSUserDefaults standardUserDefaults] objectForKey:@"user_uuid"];
admin's avatar
admin committed
187
    NSNumber *pageSize = [[NSUserDefaults standardUserDefaults] objectForKey:@"requestNumber"];
admin's avatar
admin committed
188 189 190 191
    // 请求参数
    NSDictionary *parameters = @{@"user":user_uuid,
                                 @"scope":@"all",
                                 @"pageNumber":@(_page),
192 193
                                 @"pageSize":pageSize,
                                 @"queryOrders":_queryOrders
admin's avatar
admin committed
194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209
                                 };
    
    // 发起请求
    HttpClient *httpClient = [[HttpClient alloc] initWithUrl:urlStr];
    // 请求问题列表
    [httpClient getQuestionListWithParameters:parameters completion:^(id response, NSError *error) {
        NSDictionary *dataDict = (NSDictionary *)response[@"data"];
        NSDictionary *recordsDict = (NSDictionary *)dataDict[@"records"];
        NSMutableArray *tempArray  = [NSMutableArray array];
        for (NSDictionary *questionDict in recordsDict) {
            QuestionModel *question = [[QuestionModel alloc] init];
            [question setValuesForKeysWithDictionary:questionDict];
            [tempArray addObject:question];
        }
        [_allQuestionArray addObjectsFromArray:tempArray];
        
210
        if (tempArray.count < 10) {
admin's avatar
admin committed
211 212 213 214
            [self.tableView.footer noticeNoMoreData];
        } else {
            [self.tableView.footer endRefreshing];
        }
admin's avatar
admin committed
215 216
        self.menuView.backgroundColor = kInspectSectionBackGroundColor;

admin's avatar
admin committed
217 218 219 220 221
        [self.tableView reloadData];
    }];

}

222 223 224 225 226 227
- (void)setupTableView
{
    [self.tableView registerClass:[QuestionListTableCell class] forCellReuseIdentifier:kQuestionListCell];
    self.searchBar.backgroundColor = kSectionBackGroundColor;
}

228 229 230 231 232 233 234 235 236 237
- (void)setupNav
{
    UILabel *customLab = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 40, 30)];
    [customLab setTextColor:[UIColor whiteColor]];
    [customLab setText:@"问题与知识"];
    customLab.font = [UIFont boldSystemFontOfSize:19];
    self.navigationItem.titleView = customLab;
    
    UIButton *rightButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 60, 20)];
    [rightButton setTitle:@"新增问题" forState:UIControlStateNormal];
admin's avatar
admin committed
238
    [rightButton addTarget:self action:@selector(addQuestionClick:) forControlEvents:UIControlEventTouchUpInside];
239 240 241 242
    [rightButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    rightButton.titleLabel.font = [UIFont systemFontOfSize:15];
    UIBarButtonItem *rightButtonItem = [[UIBarButtonItem alloc] initWithCustomView:rightButton];
    self.navigationItem.rightBarButtonItem = rightButtonItem;
admin's avatar
admin committed
243 244 245 246 247 248 249 250
    UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];
    backBtn.frame = CGRectMake(0, 0, 30, 44);
    
    [backBtn setImage:[UIImage imageNamed:@"back_btn"] forState:UIControlStateNormal];
    [backBtn addTarget:self action:@selector(doBack:) forControlEvents:UIControlEventTouchUpInside];
    
    UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithCustomView:backBtn];
    self.navigationItem.leftBarButtonItem = backItem;
251 252
}

admin's avatar
admin committed
253 254 255 256 257
- (void)doBack:(id)sender
{
    [self.navigationController dismissViewControllerAnimated:YES completion:nil];
}

admin's avatar
admin committed
258
- (void)addQuestionClick:(UIButton *)sender
259
{
admin's avatar
admin committed
260 261 262 263 264 265 266 267 268 269
    NSArray *permissions = [[NSUserDefaults standardUserDefaults] objectForKey:@"permissions"];
    if ([permissions containsObject:@"500503"]) {
        AddQuestionViewController *addQuestionVC = [[AddQuestionViewController alloc] init];
        [self.navigationController pushViewController:addQuestionVC animated:YES];
    } else {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"您没有新增问题权限!" delegate:self cancelButtonTitle:nil otherButtonTitles:@"确定", nil];
        [alert show];
    }
    
    
270 271
}

272
- (void)dropCilck:(MenuButton *)sender
admin's avatar
admin committed
273
{
274 275 276 277 278 279 280 281 282 283 284 285
    sender.isDrop = !sender.isDrop;
    
    if (_selctedButton.tag == sender.tag) {
        
        if (sender.isDrop) {
            if (sender.tag == 4001) {
                [self showRedView];
            } else {
                [self showGreenView];
            }
            [sender setTitleColor:[UIColor orangeColor] forState:UIControlStateNormal];
            
286
        } else {
287 288 289 290 291 292
            if (sender.tag == 4001) {
                [self closeRedView];
            } else {
                [self closeGreenView];
            }
            [sender setTitleColor:kInspectSectionButtonTextColor forState:UIControlStateNormal];
293 294
        }
    } else {
295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327
        // 前一次选中的按钮 选中状态置为NO
        _selctedButton.selected = NO;
        _selctedButton.isDrop = NO;
        // 进行选中状态为NO 的操作
        //   1.将发生“选中”->“未选中”状态变化的按钮文字由Orange->White
        [_selctedButton setTitleColor:kInspectSectionButtonTextColor forState:UIControlStateNormal];
        //   2.判断当前是否有bgView 有->移除, 没有->跳过
        if (_bgView) {
            // _bgView存在
            [_bgView removeFromSuperview];
            _bgView = nil;
        }
        
        if (_taxisView) {
            [_taxisView removeFromSuperview];
            _taxisView = nil;
        }
        
        if (_screenView) {
            [_screenView removeFromSuperview];
            _screenView = nil;
        }
        
        
        // 将当前选中的按钮设置 选中状态为YES;
        sender.selected = YES;
        // 对选中按钮 进行相关操作
        //   1.将选中按钮的文字设置为Orange
        [sender setTitleColor:[UIColor orangeColor] forState:UIControlStateNormal];
        _selctedButton = (MenuButton *)sender;
        
        if (sender.tag == 4001) {
            [self showRedView];
328
        } else {
329
            [self showGreenView];
330 331 332 333
        }
    }
}

334 335

- (void)showRedView
336
{
337
    if (!_bgView) {
admin's avatar
admin committed
338
        _bgView = [[UIView alloc] initWithFrame:CGRectMake(0, 45, kScreenWidth, kScreenHeight)];
339 340
        UITapGestureRecognizer *tapGR = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(closeRedView)];
        [_bgView addGestureRecognizer:tapGR];
341 342
    }
    if (!_taxisView) {
343 344
        _taxisView = [[MoreTaxisView alloc] init];
        //_taxisView.tag = 3928342;
345 346 347
        _taxisView.backgroundColor = [UIColor whiteColor];
    }
    
348
    _taxisView.delegate = self;
349 350 351 352 353
    [self.view addSubview:_bgView];
    [self.view insertSubview:_taxisView aboveSubview:_bgView];
    
    _bgView.alpha = 0;
    _bgView.backgroundColor = [UIColor blackColor];
354
    
355
    CGRect toFrame = CGRectMake(0, 45, kScreenWidth, kMoreTaxisViewHeight);
admin's avatar
admin committed
356 357 358
    _taxisView.frame = toFrame;
    _taxisView.alpha = 0.0;
    [UIView animateWithDuration:0.2 animations:^{
359
        _bgView.alpha = 0.6;
admin's avatar
admin committed
360
        _taxisView.alpha = 1.0;
361
    }];
362
    
363 364
}

365 366 367
- (void)closeRedView
{
    _selctedButton.isDrop = NO;
368
    _selctedButton.selected = NO;
369
    [_selctedButton setTitleColor:kInspectSectionButtonTextColor forState:UIControlStateNormal];
admin's avatar
admin committed
370
    [UIView animateWithDuration:0.2 animations:^{
371
        _bgView.alpha = .0f;
admin's avatar
admin committed
372
        _taxisView.alpha = 0.0;
373 374 375 376 377 378 379 380
    } completion:^(BOOL finished) {
        [_bgView removeFromSuperview];
        [_taxisView removeFromSuperview];
    }];
}


- (void)showGreenView
381
{
382
    if (!_bgView) {
admin's avatar
admin committed
383
        _bgView = [[UIView alloc] initWithFrame:CGRectMake(0, 45, kScreenWidth, kScreenHeight)];
384 385
        UITapGestureRecognizer *tapGR = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(closeGreenView)];
        [_bgView addGestureRecognizer:tapGR];
386 387
    }
    if (!_screenView) {
admin's avatar
admin committed
388
        _screenView = [[MoreScreenView alloc] init];
389
        _screenView.backgroundColor = [UIColor whiteColor];
admin's avatar
admin committed
390
        _screenView.groupTableView.groupDeleagte = self;
391
        _screenView.scopeTableView.scopeDeleagte = self;
admin's avatar
admin committed
392 393 394
        _screenView.categoryTableView.categroyDeleagte = self;
        _screenView.stateTableView.stateDeleagte = self;
        _screenView.timeTableView.timeDeleagte = self;
395
    }
396 397
    [_screenView.resetBtn addTarget:self action:@selector(resetClick:) forControlEvents:UIControlEventTouchUpInside];
    [_screenView.submitBtn addTarget:self action:@selector(submitClick:) forControlEvents:UIControlEventTouchUpInside];
398
    
399 400
    [self.view addSubview:_bgView];
    [self.view insertSubview:_screenView aboveSubview:_bgView];
401
    
402 403 404
    _bgView.alpha = 0;
    _bgView.backgroundColor = [UIColor blackColor];
    
admin's avatar
admin committed
405
    CGRect toFrame = CGRectMake(0, 45, kScreenWidth, kMoreScreenViewHeight);
admin's avatar
admin committed
406 407 408
    _screenView.frame = toFrame;
    _screenView.alpha = 0.0;

409
    [UIView animateWithDuration:0.3 animations:^{
410
        _bgView.alpha = 0.6;
admin's avatar
admin committed
411
        _screenView.alpha = 1.0;
412
    }];
413
    
414 415
}

416
- (void)closeGreenView
417
{
418
    _selctedButton.isDrop = NO;
419
    _selctedButton.selected = NO;
420 421 422
    [_selctedButton setTitleColor:kInspectSectionButtonTextColor forState:UIControlStateNormal];
    [UIView animateWithDuration:0.3 animations:^{
        _bgView.alpha = .0f;
admin's avatar
admin committed
423
        _screenView.alpha = 0.0;
424 425 426 427
    } completion:^(BOOL finished) {
        [_bgView removeFromSuperview];
        [_screenView removeFromSuperview];
    }];
428 429
}

430

431 432
- (void)searchBarClick:(UIButton *)sender
{
433 434 435
    if (_searchBar.searchTextFiled.text.length == 0) {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"请输入问题的关键字!" delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
        [alert show];
admin's avatar
admin committed
436
    } else {
437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487
        NSString *urlStr = [NSString stringWithFormat:@"%@%@", kRedStarURL, kQuestionListURL];
        NSString *user_uuid = [[NSUserDefaults standardUserDefaults] objectForKey:@"user_uuid"];
        NSNumber *pageSize = [[NSUserDefaults standardUserDefaults] objectForKey:@"requestNumber"];
        NSDictionary *parameters = @{@"user":user_uuid,
                                     @"pageNumber":@(0),
                                     @"pageSize":pageSize,
                                     @"keyword":_searchBar.searchTextFiled.text,
                                     @"queryOrders":@[@{@"field":@"keyword",
                                                        @"direction":@"asc"}]
                                     };
        // 发起请求
        HttpClient *httpClient = [[HttpClient alloc] initWithUrl:urlStr];
        //
        __block QuestionViewController *weakSelf = self;
        
        [MBProgressHUD showHUDAddedTo:self.view animated:YES];
        
        
        // 请求问题列表
        [httpClient getQuestionListWithParameters:parameters completion:^(id response, NSError *error) {
            NSDictionary *dataDict = (NSDictionary *)response[@"data"];
            NSDictionary *recordsDict = (NSDictionary *)dataDict[@"records"];
            NSMutableArray *tempArray = [NSMutableArray array];
            for (NSDictionary *questionDict in recordsDict) {
                QuestionModel *question = [[QuestionModel alloc] init];
                [question setValuesForKeysWithDictionary:questionDict];
                [tempArray addObject:question];
            }
            _allQuestionArray = tempArray;
            
            if (_allQuestionArray.count == 0) {
                if (_tableView) {
                    [_tableView removeFromSuperview];
                    _tableView = nil;
                }
                weakSelf.noDataView.backgroundColor = [UIColor whiteColor];
                [MBProgressHUD hideHUDForView:weakSelf.view animated:YES];
            } else {
                if (_noDataView) {
                    [_noDataView removeFromSuperview];
                    _noDataView = nil;
                }
                weakSelf.tableView.delegate = weakSelf;
                weakSelf.tableView.dataSource = weakSelf;
                [weakSelf.tableView reloadData];
                [MBProgressHUD hideHUDForView:weakSelf.view animated:YES];
            }
            self.menuView.backgroundColor = kInspectSectionBackGroundColor;
            
        }];

admin's avatar
admin committed
488
    }
489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506
//    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"content CONTAINS %@ || title CONTAINS %@", self.searchBar.searchTextFiled.text, self.searchBar.searchTextFiled.text];
//    NSArray *arrayPre=[_allQuestionArray filteredArrayUsingPredicate:predicate];
//    _allQuestionArray = [NSMutableArray arrayWithArray:arrayPre];
//    
//    if (_allQuestionArray.count == 0) {
//        if (_tableView) {
//            [_tableView removeFromSuperview];
//            _tableView = nil;
//        }
//        self.noDataView.backgroundColor = [UIColor whiteColor];
//    } else {
//        if (_noDataView) {
//            [_noDataView removeFromSuperview];
//            _noDataView = nil;
//        }
//        self.searchBar.backgroundColor = kSectionBackGroundColor;
//        [self.tableView reloadData];
//    }
admin's avatar
admin committed
507
}
508

509 510 511
// 重置按钮
- (void)resetClick:(UIButton *)sender
{
admin's avatar
admin committed
512 513 514 515 516 517 518 519
    NSInteger selectedIndex = 0;
    NSIndexPath *selectedIndexPath = [NSIndexPath indexPathForRow:selectedIndex inSection:0];
    [_screenView.scopeTableView selectRowAtIndexPath:selectedIndexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
    [_screenView.groupTableView selectRowAtIndexPath:selectedIndexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
    [_screenView.categoryTableView selectRowAtIndexPath:selectedIndexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
    [_screenView.stateTableView selectRowAtIndexPath:selectedIndexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
    [_screenView.timeTableView selectRowAtIndexPath:selectedIndexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
    
520 521
//    _screenView.textView1.text = @"";
//    _screenView.textView2.text = @"";
admin's avatar
admin committed
522 523


524 525 526 527 528 529 530 531
}
// 提交按钮
- (void)submitClick:(UIButton *)sender
{
    // 请求地址
    NSString *urlStr = [NSString stringWithFormat:@"%@%@", kRedStarURL, kQuestionListURL];
    NSString *user_uuid = [[NSUserDefaults standardUserDefaults] objectForKey:@"user_uuid"];
    
admin's avatar
admin committed
532
    NSNumber *pageSize = [[NSUserDefaults standardUserDefaults] objectForKey:@"requestNumber"];
533 534 535
    NSMutableDictionary *parameters = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                       user_uuid,@"user",
                                       @(0),@"pageNumber",
admin's avatar
admin committed
536
                                       pageSize,@"pageSize", nil];
admin's avatar
admin committed
537
    
538 539 540 541 542 543 544
    // 发起请求
    HttpClient *httpClient = [[HttpClient alloc] initWithUrl:urlStr];
    //
    __block QuestionViewController *weakSelf = self;
    
    [MBProgressHUD showHUDAddedTo:self.view animated:YES];
    
admin's avatar
admin committed
545 546 547 548 549 550 551 552 553 554
    if (_screenView.groupTabBar.selectNumber == 0) {
        if (_scopeRow == 0) {
            [parameters setObject:@"all" forKey:@"scope"];
        } else {
            [parameters setObject:@"mine" forKey:@"scope"];
        }
        NSArray *array = @[@{@"field":@"scope",
                             @"direction":@"asc"}];
        [parameters setObject:array forKey:@"queryOrders"];
    } else if (_screenView.groupTabBar.selectNumber == 1) {
555
        // 分组
admin's avatar
admin committed
556
        [parameters setObject:_allGroupNameArray[_groupRow] forKey:@"group"];
admin's avatar
admin committed
557 558 559 560
        NSArray *array = @[@{@"field":@"group",
                             @"direction":@"asc"}];
        [parameters setObject:array forKey:@"queryOrders"];
    } else if (_screenView.groupTabBar.selectNumber == 2) {
561
        
admin's avatar
admin committed
562
        [parameters setObject:_allGroupNameArray[_groupRow] forKey:@"group"];
563
        [parameters setObject:_categoryName forKey:@"category"];
admin's avatar
admin committed
564 565 566
        NSArray *array = @[@{@"field":@"category",
                             @"direction":@"asc"}];
        [parameters setObject:array forKey:@"queryOrders"];
567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582
    }
//    else if (_screenView.groupTabBar.selectNumber == 3) {
//        [parameters setObject:_screenView.textView1.text forKey:@"contentLike"];
//        NSArray *array = @[@{@"field":@"contentLike",
//                             @"direction":@"asc"}];
//        [parameters setObject:array forKey:@"queryOrders"];
//
//    }
//    else if (_screenView.groupTabBar.selectNumber == 4) {
//        [parameters setObject:_screenView.textView2.text forKey:@"keyword"];
//        NSArray *array = @[@{@"field":@"keyword",
//                             @"direction":@"asc"}];
//        [parameters setObject:array forKey:@"queryOrders"];
//
//    }
    else if (_screenView.groupTabBar.selectNumber == 3) {
admin's avatar
admin committed
583 584 585 586 587 588 589 590 591 592
        if (_stateRow == 0) {
            [parameters setObject:@"created" forKey:@"state"];
        } else if (_stateRow == 1) {
            [parameters setObject:@"resolved" forKey:@"state"];
        } else {
            [parameters setObject:@"aborted" forKey:@"state"];
        }
        NSArray *array = @[@{@"field":@"state",
                             @"direction":@"asc"}];
        [parameters setObject:array forKey:@"queryOrders"];
593
    } else if (_screenView.groupTabBar.selectNumber == 4) {
admin's avatar
admin committed
594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638
        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
        [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
        
        // 当前时间
        NSDate *today = [NSDate date];
        NSString *todayStr = [dateFormatter stringFromDate:today];
        if (_timeRow == 0) {
            
        } else if (_timeRow == 1) {
            
            NSDate *week = [today dateByAddingTimeInterval:-60*60*24*7];
            NSString *weekStr = [dateFormatter stringFromDate:week];
            
            [parameters setObject:weekStr forKey:@"beginDateFrom"];
            [parameters setObject:todayStr forKey:@"endDateTo"];
        } else if (_timeRow == 2) {
            
            NSDate *oneMonth = [self getPriousorLaterDateFromDate:today withMonth:-1];
            NSString *oneMonthStr = [dateFormatter stringFromDate:oneMonth];
            
            [parameters setObject:oneMonthStr forKey:@"beginDateFrom"];
            [parameters setObject:todayStr forKey:@"endDateTo"];
            
        } else if (_timeRow == 3) {
            NSDate *threeMonth = [self getPriousorLaterDateFromDate:today withMonth:-3];
            NSString *threeMonthStr = [dateFormatter stringFromDate:threeMonth];
            
            [parameters setObject:threeMonthStr forKey:@"beginDateFrom"];
            [parameters setObject:todayStr forKey:@"endDateTo"];
        } else if (_timeRow == 4) {
            NSDate *oneYear = [self getPriousorLaterDateFromDate:today withMonth:-12];
            NSString *oneYearStr = [dateFormatter stringFromDate:oneYear];
            
            [parameters setObject:oneYearStr forKey:@"beginDateFrom"];
            [parameters setObject:todayStr forKey:@"endDateTo"];
        } else {
            NSDate *oneYear = [self getPriousorLaterDateFromDate:today withMonth:-12];
            NSString *oneYearStr = [dateFormatter stringFromDate:oneYear];
            [parameters setObject:oneYearStr forKey:@"endDateTo"];
        }
        
        NSArray *array = @[@{@"field":@"lastModifyInfo",
                             @"direction":@"asc"}];
        [parameters setObject:array forKey:@"queryOrders"];
    }
639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670
    
    // 请求问题列表
    [httpClient getQuestionListWithParameters:parameters completion:^(id response, NSError *error) {
        NSDictionary *dataDict = (NSDictionary *)response[@"data"];
        NSDictionary *recordsDict = (NSDictionary *)dataDict[@"records"];
        NSMutableArray *tempArray = [NSMutableArray array];
        for (NSDictionary *questionDict in recordsDict) {
            QuestionModel *question = [[QuestionModel alloc] init];
            [question setValuesForKeysWithDictionary:questionDict];
            [tempArray addObject:question];
        }
        _allQuestionArray = tempArray;

        if (_allQuestionArray.count == 0) {
            if (_tableView) {
                [_tableView removeFromSuperview];
                _tableView = nil;
            }
            weakSelf.noDataView.backgroundColor = [UIColor whiteColor];
            [MBProgressHUD hideHUDForView:weakSelf.view animated:YES];
            [weakSelf closeGreenView];
        } else {
            if (_noDataView) {
                [_noDataView removeFromSuperview];
                _noDataView = nil;
            }
            weakSelf.tableView.delegate = weakSelf;
            weakSelf.tableView.dataSource = weakSelf;
            [weakSelf.tableView reloadData];
            [MBProgressHUD hideHUDForView:weakSelf.view animated:YES];
            [weakSelf closeGreenView];
        }
admin's avatar
admin committed
671 672
        self.menuView.backgroundColor = kInspectSectionBackGroundColor;

673 674 675 676 677 678 679 680 681 682 683 684 685
    }];

}

- (NSDate *)getPriousorLaterDateFromDate:(NSDate *)date withMonth:(int)month
{
    NSDateComponents *comps = [[NSDateComponents alloc] init];
    [comps setMonth:month];
    NSCalendar *calender = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    NSDate *mDate = [calender dateByAddingComponents:comps toDate:date options:0];
    return mDate;
}

admin's avatar
admin committed
686 687 688 689 690
#pragma mark - MoreScreenDelegate
- (void)scopeTableViewClick:(NSInteger)row
{
    _scopeRow = row;
}
691

admin's avatar
admin committed
692
- (void)groupTableViewClick:(NSInteger)groupRow
admin's avatar
admin committed
693
{
admin's avatar
admin committed
694
    _groupRow = groupRow;
admin's avatar
admin committed
695
}
696

admin's avatar
admin committed
697
- (void)categoryTableViewClick:(NSString *)categoryName
admin's avatar
admin committed
698
{
699
    _categoryName = categoryName;
admin's avatar
admin committed
700
}
701

admin's avatar
admin committed
702
- (void)stateTableViewClick:(NSInteger)row
703
{
admin's avatar
admin committed
704
    _stateRow = row;
705 706
}

admin's avatar
admin committed
707 708 709 710 711 712
- (void)timeTableViewClick:(NSInteger)row
{
    _timeRow = row;
}


713
#pragma mark - TaxisDelegate
714
- (void)moreTimeChange:(UIButton *)sender
715
{
admin's avatar
admin committed
716 717 718 719 720 721 722 723 724 725
    // 请求地址
    NSString *urlStr = [NSString stringWithFormat:@"%@%@", kRedStarURL, kQuestionListURL];
    NSString *user_uuid = [[NSUserDefaults standardUserDefaults] objectForKey:@"user_uuid"];
    
    NSArray *queryOrders;
    if (sender.tag - kTAxisBtnTag == 1) {
        queryOrders = @[];
        
    } else if (sender.tag - kTAxisBtnTag == 2) {
        
726 727 728 729 730 731 732
        queryOrders = @[@{@"field":@"likeCount",
                          @"direction":@"desc"}];
        
    } else if (sender.tag - kTAxisBtnTag == 3) {
        queryOrders = @[@{@"field":@"likeCount",
                          @"direction":@"asc"}];
    } else if (sender.tag - kTAxisBtnTag == 4) {
733 734
        queryOrders = @[@{@"field":@"resolveTime",
                          @"direction":@"asc"}];
admin's avatar
admin committed
735
    } else {
736 737
        queryOrders = @[@{@"field":@"resolveTime",
                          @"direction":@"desc"}];
admin's avatar
admin committed
738 739
    }
    
740 741
    _queryOrders = queryOrders;
    
admin's avatar
admin committed
742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785
    NSDictionary *parameters = @{@"user":user_uuid,
                                 @"scope":@"all",
                                 @"pageNumber":@(0),
                                 @"pageSize":@(20),
                                 @"queryOrders":queryOrders
                                 };
    
    // 发起请求
    HttpClient *httpClient = [[HttpClient alloc] initWithUrl:urlStr];
    __block QuestionViewController *weakSelf = self;
    [MBProgressHUD showHUDAddedTo:self.view animated:YES];
    
    
    // 请求问题列表
    [httpClient getQuestionListWithParameters:parameters completion:^(id response, NSError *error) {
        NSDictionary *dataDict = (NSDictionary *)response[@"data"];
        NSDictionary *recordsDict = (NSDictionary *)dataDict[@"records"];
        NSMutableArray *tempArray = [NSMutableArray array];
        for (NSDictionary *questionDict in recordsDict) {
            QuestionModel *question = [[QuestionModel alloc] init];
            [question setValuesForKeysWithDictionary:questionDict];
            [tempArray addObject:question];
        }
        _allQuestionArray = tempArray;
        
        if (_allQuestionArray.count == 0) {
            if (_tableView) {
                [_tableView removeFromSuperview];
                _tableView = nil;
            }
            weakSelf.noDataView.backgroundColor = [UIColor whiteColor];
            [MBProgressHUD hideHUDForView:weakSelf.view animated:YES];
            [weakSelf closeGreenView];
        } else {
            if (_noDataView) {
                [_noDataView removeFromSuperview];
                _noDataView = nil;
            }
            weakSelf.tableView.delegate = weakSelf;
            weakSelf.tableView.dataSource = weakSelf;
            [weakSelf.tableView reloadData];
            [MBProgressHUD hideHUDForView:weakSelf.view animated:YES];
            [weakSelf closeGreenView];
        }
admin's avatar
admin committed
786 787
        self.menuView.backgroundColor = kInspectSectionBackGroundColor;

admin's avatar
admin committed
788 789 790
    }];

    
791
    [self closeRedView];
792 793
}

794

admin's avatar
admin committed
795
#pragma mark - UItableView Delegate/DataSource
796 797
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
admin's avatar
admin committed
798
    return _allQuestionArray.count;
799 800 801 802 803 804 805 806
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    QuestionListTableCell *cell=[tableView dequeueReusableCellWithIdentifier:kQuestionListCell];
    if (!cell) {
        cell = [[QuestionListTableCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:kQuestionListCell];
    }
admin's avatar
admin committed
807
    cell.question = _allQuestionArray[indexPath.row];
808 809 810
    return cell;
}

811 812 813 814
// cell点击事件
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    QuestionDetailViewController *questionDetailVC = [[QuestionDetailViewController alloc] init];
815 816
    QuestionModel *question = (QuestionModel *)_allQuestionArray[indexPath.row];
    questionDetailVC.questionUuid = question.uuid;
817
    questionDetailVC.row = indexPath.row;
818 819 820
    [self.navigationController pushViewController:questionDetailVC animated:YES];
}

821 822 823
// cell的高度
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
824
    return 100;
825 826
}

admin's avatar
admin committed
827

828 829 830 831 832 833

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
{
    return 0;
}

834 835 836

#pragma mark - lazy loading
- (MenuView *)menuView
837
{
838 839 840
    if (!_menuView) {
        _menuView = [[MenuView alloc] init];
        _menuView.translatesAutoresizingMaskIntoConstraints = NO;
admin's avatar
admin committed
841 842 843
        [_menuView.taxiButton addTarget:self action:@selector(dropCilck:) forControlEvents:UIControlEventTouchUpInside];
        [_menuView.screenButton addTarget:self action:@selector(dropCilck:) forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:_menuView];
844
        
admin's avatar
admin committed
845 846 847 848 849
        NSLayoutConstraint *menuTop = [NSLayoutConstraint constraintWithItem:_menuView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeTop multiplier:1.0 constant:0];
        [self.view addConstraint:menuTop];
        
        NSLayoutConstraint *menuLeft = [NSLayoutConstraint constraintWithItem:_menuView attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeLeft multiplier:1.0 constant:0];
        [self.view addConstraint:menuLeft];
850
        
admin's avatar
admin committed
851 852
        NSLayoutConstraint *menuRight = [NSLayoutConstraint constraintWithItem:_menuView attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeRight multiplier:1.0 constant:0];
        [self.view addConstraint:menuRight];
853 854
        
        NSLayoutConstraint *menuHeight = [NSLayoutConstraint constraintWithItem:_menuView attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:45];
admin's avatar
admin committed
855
        [self.view addConstraint:menuHeight];
856 857 858
    }
    return _menuView;
}
859 860 861 862 863 864 865 866 867 868

- (UITableView *)tableView
{
    if (!_tableView) {
        _tableView = [[UITableView alloc] initWithFrame:CGRectZero];
        _tableView.translatesAutoresizingMaskIntoConstraints = NO;
        _tableView.delegate = self;
        _tableView.dataSource = self;
        _tableView.showsVerticalScrollIndicator = NO;
        _tableView.showsHorizontalScrollIndicator = NO;
869
        _tableView.tableFooterView = [[UIView alloc] init];
870
        [self.view addSubview:_tableView];
871
        [self.view insertSubview:_tableView atIndex:0];
872
        
873
        NSLayoutConstraint *tableTop = [NSLayoutConstraint constraintWithItem:_tableView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeTop multiplier:1.0 constant:45];
874 875 876 877 878 879 880 881
        [self.view addConstraint:tableTop];
        
        NSLayoutConstraint *tableLeft = [NSLayoutConstraint constraintWithItem:_tableView attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeLeft multiplier:1.0 constant:0];
        [self.view addConstraint:tableLeft];
        
        NSLayoutConstraint *tableRight = [NSLayoutConstraint constraintWithItem:_tableView attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeRight multiplier:1.0 constant:0];
        [self.view addConstraint:tableRight];
        
admin's avatar
admin committed
882
        NSLayoutConstraint *tableBottom = [NSLayoutConstraint constraintWithItem:_tableView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeBottom multiplier:1.0 constant:-50];
883 884 885 886 887
        [self.view addConstraint:tableBottom];
    }
    return _tableView;
}

888 889 890 891
- (SearchToolBar *)searchBar
{
    if (!_searchBar) {
        _searchBar = [[SearchToolBar alloc] init];
admin's avatar
admin committed
892
        _searchBar.searchTextFiled.delegate = self;
893 894 895
        _searchBar.translatesAutoresizingMaskIntoConstraints = NO;
        [_searchBar.queryButton addTarget:self action:@selector(searchBarClick:) forControlEvents:UIControlEventTouchUpInside];
        [self.view insertSubview:_searchBar aboveSubview:_tableView];
admin's avatar
admin committed
896 897
        [self.view insertSubview:_searchBar aboveSubview:_noDataView];

898 899 900 901 902 903 904 905 906 907
        
        NSLayoutConstraint *tableHeight = [NSLayoutConstraint constraintWithItem:_searchBar attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:50];
        [self.view addConstraint:tableHeight];
        
        NSLayoutConstraint *tableLeft = [NSLayoutConstraint constraintWithItem:_searchBar attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeLeft multiplier:1.0 constant:0];
        [self.view addConstraint:tableLeft];
        
        NSLayoutConstraint *tableRight = [NSLayoutConstraint constraintWithItem:_searchBar attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeRight multiplier:1.0 constant:0];
        [self.view addConstraint:tableRight];
        
admin's avatar
admin committed
908 909
        self.searchBottom = [NSLayoutConstraint constraintWithItem:_searchBar attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0];
        [self.view addConstraint:self.searchBottom];
910 911 912 913
    }
    return _searchBar;
}

914 915 916 917 918 919 920
- (NoDataView *)noDataView
{
    if (!_noDataView) {
        _noDataView = [[NoDataView alloc] init];
        _noDataView.translatesAutoresizingMaskIntoConstraints = NO;
        [self.view addSubview:_noDataView];
        
admin's avatar
admin committed
921
        NSLayoutConstraint *tableTop = [NSLayoutConstraint constraintWithItem:_noDataView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeTop multiplier:1.0 constant:45];
922 923 924 925 926 927 928 929
        [self.view addConstraint:tableTop];
        
        NSLayoutConstraint *tableLeft = [NSLayoutConstraint constraintWithItem:_noDataView attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeLeft multiplier:1.0 constant:0];
        [self.view addConstraint:tableLeft];
        
        NSLayoutConstraint *tableRight = [NSLayoutConstraint constraintWithItem:_noDataView attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeRight multiplier:1.0 constant:0];
        [self.view addConstraint:tableRight];
        
admin's avatar
admin committed
930
        NSLayoutConstraint *tableBottom = [NSLayoutConstraint constraintWithItem:_noDataView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0];
931 932 933 934
        [self.view addConstraint:tableBottom];
    }
    return _noDataView;
}
935

admin's avatar
admin committed
936
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
admin's avatar
admin committed
937
    
admin's avatar
admin committed
938 939 940 941 942
    if (![self.searchBar.searchTextFiled isExclusiveTouch]) {
        [self.searchBar.searchTextFiled resignFirstResponder];
    }
}

admin's avatar
admin committed
943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    if ([self.searchBar.searchTextFiled resignFirstResponder]) {
        return YES;
    }
    return NO;
}



- (void)textFieldDidBeginEditing:(UITextField *)textField
{
    self.searchBottom.constant = -256;
    [UIView animateWithDuration:0.23 animations:^{
        [self.searchBar layoutIfNeeded];
    }];
}

- (void)textFieldDidEndEditing:(UITextField *)textField
{
    self.searchBottom.constant = 0;
    [UIView animateWithDuration:0.23 animations:^{
        [self.searchBar layoutIfNeeded];
    }];
}

969 970 971 972 973 974 975 976 977 978 979
/*
#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