HomeViewController.m 64.5 KB
Newer Older
admin's avatar
admin committed
1 2 3 4 5 6 7 8 9 10
//
//  HomeViewController.m
//  redstar
//
//  Created by admin on 15/10/23.
//  Copyright © 2015年 ZWF. All rights reserved.
//

#import "HomeViewController.h"
#import "HomeHeaderView.h"
11
#import "RankListHeaderView.h"
admin's avatar
admin committed
12 13 14

#import "InspectListViewController.h"
#import "RankingListViewController.h"
15
#import "OnLineViewController.h"
admin's avatar
admin committed
16
#import "PicCategoryViewController.h"
17
#import "QuestionViewController.h"
admin's avatar
admin committed
18
#import "PictureViewController.h"
admin's avatar
admin committed
19

admin's avatar
admin committed
20 21 22 23 24 25 26 27 28 29 30
#import "HomeCellItem.h"

#import "PictureTableCell.h"
#define kHomePictureListCell @"homePictureListCell"
#import "PictureStoryViewController.h"

#import "HomeTitleTableCell.h"
#define kHomeTitleTableCell @"homeTitleTableCell"
#import "RankingListCell.h"
#define kHomeRankingListCell @"homeRankingListsCell"
#import "RankDetailViewController.h"
admin's avatar
admin committed
31
#import "RankListModel.h"
32
#import "RankCommentCell.h"
admin's avatar
admin committed
33 34 35 36 37

#import "QuestionListTableCell.h"
#define kHomeQuestionListTableCell @"homeQuestionListTableCell"
#import "QuestionModel.h"
#import "QuestionDetailViewController.h"
38
#define kQuestionTag 387428
admin's avatar
admin committed
39 40 41 42

#import "InspectListCell.h"
#define kHomeInspectListCell @"homeInspectListsCell"
#import "InspectTaskViewController.h"
43
#import "TaskListModel.h"
admin's avatar
admin committed
44

admin's avatar
admin committed
45 46 47
#import "PictureTableCell.h"
#define KHomePicTableCell @"pictureTableViewCell"

48
#import "SpotCheckOnLineViewController.h"
49 50 51 52

#import "LookOnLineViewController.h"

#import "StandardViewController.h"
53 54 55 56 57 58 59 60 61 62
#import "LookOnLineModel.h"
#import "LookOnLineTableViewCell.h"
#define kHomeLookOnLineCell @"homeLookOnLineTableViewCell.h"

#import "SpotCheckModel.h"
#import "SpotCheckTableViewCell.h"
#define kHomeSpotCehcekCell @"homeSpotCheckCell"

#import "OnLineCompleteViewController.h"
#import "LookOnLineDetailViewController.h"
63

64 65 66
#import "HttpClient.h"
#import <MBProgressHUD.h>

admin's avatar
admin committed
67
#import <MJRefresh.h>
admin's avatar
admin committed
68
#import "SearchViewController.h"
admin's avatar
admin committed
69
#import "LookReportDetailViewController.h"
admin's avatar
admin committed
70

admin's avatar
admin committed
71 72
typedef NSComparisonResult (^NSComparator)(id obj1, id obj2);

73
@interface HomeViewController () <UITableViewDelegate, UITableViewDataSource, UIScrollViewDelegate, UITextFieldDelegate, RankListHeaderDelegate>
admin's avatar
admin committed
74 75 76 77 78 79
@property (nonatomic, strong) UIImageView *bgImageView; // 背景
@property (nonatomic, strong) UITextField *searchTextField; // 搜索框
@property (nonatomic, strong) UILabel *shopnameLabel; // 店名
@property (nonatomic, strong) UILabel *nameLabel; // 用户姓名


admin's avatar
admin committed
80 81 82 83
// 当前视图
@property (nonatomic, strong) UITableView *tableView;
@property (nonatomic, strong) HomeHeaderView *headView;

admin's avatar
admin committed
84
@property (nonatomic, strong) NSMutableArray *titleArray; // section标题
admin's avatar
admin committed
85
@property (nonatomic, strong) NSMutableArray *sectionArray; // section标题
admin's avatar
admin committed
86

87
@property (nonatomic, strong) NSMutableArray *allQuestionArray; // 问题与知识
admin's avatar
admin committed
88 89
@property (nonatomic, strong) NSMutableArray *taskListDataArray; // 问题与知识
@property (nonatomic, strong) NSMutableArray *allRankListArray;
admin's avatar
admin committed
90
@property (nonatomic, strong) NSMutableArray *allPraiseListArray;
91 92
@property (nonatomic, strong) NSMutableArray *allExcellentCaseArray; // 优秀案例
@property (nonatomic, strong) NSMutableArray *allPatrolReportArray; // 巡店报告
93 94
@property (nonatomic, strong) NSMutableArray *allLookOnLineList; //
@property (nonatomic, strong) NSMutableArray *allSpotCheckList; //
95

admin's avatar
admin committed
96 97 98
@end

@implementation HomeViewController
admin's avatar
admin committed
99

admin's avatar
admin committed
100 101 102 103 104
#pragma mark - ViewDidLoad
- (void)viewDidLoad
{
    [super viewDidLoad];
    
105
    
admin's avatar
admin committed
106 107 108 109 110 111
    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;
    
admin's avatar
admin committed
112
    self.titleArray = [NSMutableArray array];
113 114
  //  self.sectionArray = [NSMutableArray arrayWithObjects:@"口碑报告",@"商场风采",@"优秀案例",@"巡店报告", @"问题知识",@"口碑巡检",@"在线抽查",nil];
    self.sectionArray = [NSMutableArray arrayWithObjects:@"口碑报告",@"商场风采",@"优秀案例",@"巡店报告", @"问题知识",@"口碑巡检",nil];
admin's avatar
admin committed
115

admin's avatar
admin committed
116 117 118 119
    self.allRankListArray = [NSMutableArray array];
    self.taskListDataArray = [NSMutableArray array];
    self.allQuestionArray = [NSMutableArray array];
    self.allPraiseListArray = [NSMutableArray array];
120 121
    self.allSpotCheckList = [NSMutableArray array];
    self.allLookOnLineList = [NSMutableArray array];
admin's avatar
admin committed
122 123 124
    
    [self setupNav];
    
admin's avatar
admin committed
125
    
admin's avatar
admin committed
126
    NSArray *permissions = [[NSUserDefaults standardUserDefaults] objectForKey:@"permissions"];
admin's avatar
admin committed
127
    
admin's avatar
admin committed
128
    // 口碑报告 商场风采 图说口碑 口碑标准  问题知识 口碑巡检
admin's avatar
admin committed
129
    
admin's avatar
admin committed
130
    if ([permissions containsObject:@"500201"]) {
admin's avatar
admin committed
131
        [self.titleArray addObject:@"口碑报告"];
admin's avatar
admin committed
132
        [self requestRankingList];
admin's avatar
admin committed
133 134
    } else {
        [_sectionArray removeObject:@"口碑报告"];
admin's avatar
admin committed
135
    }
admin's avatar
admin committed
136
    
admin's avatar
admin committed
137
    [self.titleArray addObject:@"商场风采"];
138 139 140 141 142 143 144 145 146 147
    
    NSArray *typeArray = [NSArray arrayWithObjects:@"store", @"casus",@"report",nil];
    
    // 商场风采
    [self requestPicturePraiseWithType:typeArray[0]];
    // 优秀案例
    [self requestPicturePraiseWithType:typeArray[1]];
    // 巡店报告
    [self requestPicturePraiseWithType:typeArray[2]];

admin's avatar
admin committed
148 149
    
    if ([permissions containsObject:@"500301"] || [permissions containsObject:@"500302"]) {
admin's avatar
admin committed
150
        [self.titleArray addObject:@"图说口碑"];
admin's avatar
admin committed
151 152
    } else {
        [_sectionArray removeObject:@"图说口碑"];
admin's avatar
admin committed
153
    }
admin's avatar
admin committed
154
    
admin's avatar
admin committed
155
    if ([permissions containsObject:@"500401"] || [permissions containsObject:@"500402"]) {
admin's avatar
admin committed
156
        [self.titleArray addObject:@"口碑标准"];
admin's avatar
admin committed
157 158
    } else {
        [_sectionArray removeObject:@"口碑标准"];
admin's avatar
admin committed
159
    }
admin's avatar
admin committed
160
    
admin's avatar
admin committed
161 162
    if ([permissions containsObject:@"500501"] || [permissions containsObject:@"500502"]) {
        [self.titleArray addObject:@"问题知识"];
admin's avatar
admin committed
163 164 165
        [self requestQuestionList];
    }else {
        [_sectionArray removeObject:@"问题知识"];
admin's avatar
admin committed
166 167
    }
    
admin's avatar
admin committed
168 169
    if ([permissions containsObject:@"500101"] || [permissions containsObject:@"500102"]) {
        [self.titleArray addObject:@"口碑巡检"];
admin's avatar
admin committed
170
        [self requestInspectList];
admin's avatar
admin committed
171
    } else {
admin's avatar
admin committed
172
        [_sectionArray removeObject:@"口碑巡检"];
admin's avatar
admin committed
173 174
    }
    
175
//    if ([permissions containsObject:@"500701"] || [permissions containsObject:@"500702"]) {
admin's avatar
admin committed
176
//        [self.titleArray addObject:@"在线抽查"];
177 178 179 180 181 182 183
//        
//        if ([permissions containsObject:@"500701"]) {
//            [self requestLookOnLineList];
//        } else if ([permissions containsObject:@"500702"]){
//            [self requestSpotCheckList];
//        }
//        
admin's avatar
admin committed
184
//    } else {
185
//        [_sectionArray removeObject:@"在线抽查"];
admin's avatar
admin committed
186 187
//    }

188
    
admin's avatar
admin committed
189 190
    [self setupTableView];
    
admin's avatar
admin committed
191
    
admin's avatar
admin committed
192 193
    [MBProgressHUD showHUDAddedTo:self.view animated:YES];
    
admin's avatar
admin committed
194
    
admin's avatar
admin committed
195 196 197 198 199 200 201 202 203 204 205
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(refreshInspectList)
                                                 name:kRefreshInspectPointNotification
                                               object:nil];
    
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(refreshQuestionList)
                                                 name:kRefreshQuestionNotification
                                               object:nil];
    
}
admin's avatar
admin committed
206 207

- (void)viewWillAppear:(BOOL)animated
admin's avatar
admin committed
208
{
admin's avatar
admin committed
209
    [super viewWillAppear:animated];
210
    self.hidesBottomBarWhenPushed = NO;
admin's avatar
admin committed
211 212
    self.tabBarController.tabBar.hidden = NO;
    self.navigationController.navigationBar.hidden = YES;
213

admin's avatar
admin committed
214
    [self.tableView.header beginRefreshing];
admin's avatar
admin committed
215 216
}

217 218 219 220 221 222 223 224
- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];

    [self.tabBarController.tabBar setHidden:NO];

}

admin's avatar
admin committed
225
#pragma mark - 刷新数据
admin's avatar
admin committed
226 227
- (void)refreshAllData
{
admin's avatar
admin committed
228 229 230
    [self refreshInspectList];
    [self refreshRankingList];
    [self refreshQuestionList];
admin's avatar
admin committed
231
    [self refreshPraiseList];
232 233
   // [self refreshSpotCheckList];
   // [self requestLookOnLineList];
admin's avatar
admin committed
234 235
}

admin's avatar
admin committed
236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263
- (void)refreshPraiseList
{
    // 请求地址
    NSString *urlStr = [NSString stringWithFormat:@"%@%@", kRedStarURL, kQueryPicturePraiseURL];
    NSString *user_uuid = [[NSUserDefaults standardUserDefaults] objectForKey:@"user_uuid"];
    NSDictionary *parameters = @{
                                 @"scope":@"all",
                                 @"user":user_uuid,
                                 @"type":@"store",
                                 @"pageNumber":@(0),
                                 @"pageSize":@(2)
                                 };
    
    // 发起请求
    HttpClient *httpClient = [[HttpClient alloc] initWithUrl:urlStr];
    [MBProgressHUD showHUDAddedTo:self.view animated:YES];
    
    // 请求问题列表
    [httpClient queryPicturePraiseWithParameters:parameters completion:^(id response, NSError *error) {
        NSDictionary *dataDict = response[@"data"];
        NSArray *dataArray = dataDict[@"records"];
        NSMutableArray *tempArray = [NSMutableArray array];
        for (NSDictionary *dict in dataArray) {
            PictureListModel *picList = [[PictureListModel alloc] init];
            [picList setValuesForKeysWithDictionary:dict];
            [tempArray addObject:picList];
        }
        _allPraiseListArray = tempArray;
admin's avatar
admin committed
264
        
admin's avatar
admin committed
265 266 267 268 269 270 271 272 273 274 275
        [self.tableView reloadData];
        [MBProgressHUD hideHUDForView:self.view animated:YES];
        [self.tableView.header endRefreshing];

    }];

}

// 刷新口碑任务
- (void)refreshInspectList
{
admin's avatar
admin committed
276 277 278 279
    // 口碑任务
    NSString *url3 = [NSString stringWithFormat:@"%@%@", kRedStarURL, kInspectListURL];
    HttpClient *httpCilent3 = [[HttpClient alloc] initWithUrl:url3];
    NSDictionary *parameters3 = @{@"userUuid":[[NSUserDefaults standardUserDefaults] objectForKey:@"user_uuid"],
admin's avatar
admin committed
280
                                  @"queryOrders":@[@{@"field":@"lastModifyInfo", @"direction":@"desc"}],
admin's avatar
admin committed
281 282 283 284 285 286 287 288 289 290 291 292 293 294
                                  @"pageNumber":@(0),
                                  @"pageSize":@(2)
                                  };
    
    [httpCilent3 getInspectListWithParameters:parameters3 completion:^(id response, NSError *error) {
        NSDictionary *dataDict = response[@"data"];
        NSArray *dataArray = dataDict[@"records"];
        NSMutableArray *inspectTempArr = [NSMutableArray array];
        for (NSDictionary *dict in dataArray) {
            TaskListModel *taskList = [[TaskListModel alloc] init];
            [taskList setValuesForKeysWithDictionary:dict];
            [inspectTempArr addObject:taskList];
        }
        _taskListDataArray = inspectTempArr;
admin's avatar
admin committed
295
        
admin's avatar
admin committed
296 297 298 299 300 301
        [self.tableView reloadData];
        [MBProgressHUD hideHUDForView:self.view animated:YES];
        [self.tableView.header endRefreshing];
    }];

}
admin's avatar
admin committed
302

admin's avatar
admin committed
303
- (void)refreshRankingList {
admin's avatar
admin committed
304 305 306
    // 口碑巡检
    NSString *url1 = [NSString stringWithFormat:@"%@%@", kRedStarURL, kRankingListURL];
    HttpClient *httpCilent1 = [[HttpClient alloc] initWithUrl:url1];
admin's avatar
admin committed
307 308
    NSDictionary *parameters1 = @{@"praiseUuid":@"",
                                  @"statisMode":@(0),
admin's avatar
admin committed
309 310 311 312 313 314 315 316 317 318 319 320 321 322
                                  @"pageNumber":@(0),
                                  @"pageSize":@(3)
                                  };
    __block HomeViewController *weakSelf = self;
    [httpCilent1 getRankingListWithParameters:parameters1 completion:^(id response, NSError *error) {
        NSDictionary *dataDict = response[@"data"];
        NSArray *dataArray = dataDict[@"records"];
        
        NSMutableArray *rankTempArr = [NSMutableArray array];
        for (NSDictionary *ListDict in dataArray) {
            RankListModel *rankList = [RankListModel rankListModelWithDict:ListDict];
            [rankTempArr addObject:rankList];
        }
        weakSelf.allRankListArray = rankTempArr;
admin's avatar
admin committed
323
        
admin's avatar
admin committed
324 325
        [self.tableView reloadData];
        [MBProgressHUD hideHUDForView:self.view animated:YES];
admin's avatar
admin committed
326 327
        [self.tableView.header endRefreshing];

admin's avatar
admin committed
328
    }];
admin's avatar
admin committed
329 330 331
}

- (void)refreshQuestionList {
admin's avatar
admin committed
332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353
    // 问题与知识
    NSString *url2 = [NSString stringWithFormat:@"%@%@", kRedStarURL, kQuestionListURL];
    NSString *user_uuid = [[NSUserDefaults standardUserDefaults] objectForKey:@"user_uuid"];
    NSDictionary *parameters2 = @{
                                  @"user":user_uuid,
                                  @"scope":@"all",
                                  @"pageNumber":@(0),
                                  @"pageSize":@(2)
                                  };
    
    HttpClient *httpClient2 = [[HttpClient alloc] initWithUrl:url2];
    [httpClient2 getQuestionListWithParameters:parameters2 completion:^(id response, NSError *error) {
        NSDictionary *dataDict = (NSDictionary *)response[@"data"];
        NSDictionary *recordsDict = (NSDictionary *)dataDict[@"records"];
        
        NSMutableArray *questionTempArr = [NSMutableArray array];
        
        for (NSDictionary *questionDict in recordsDict) {
            QuestionModel *question = [[QuestionModel alloc] init];
            [question setValuesForKeysWithDictionary:questionDict];
            [questionTempArr addObject:question];
        }
admin's avatar
admin committed
354
        _allQuestionArray = questionTempArr;
admin's avatar
admin committed
355
        
admin's avatar
admin committed
356 357
        [self.tableView reloadData];
        [MBProgressHUD hideHUDForView:self.view animated:YES];
358
        [self.tableView.header endRefreshing];
admin's avatar
admin committed
359 360
    }];

admin's avatar
admin committed
361
}
admin's avatar
admin committed
362

admin's avatar
admin committed
363

364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425
- (void)refreshSpotCheckList
{
    HttpClient *http = [[HttpClient alloc] initWithUrl:[NSString stringWithFormat:@"%@%@", kRedStarURL, kManageSportcheckURL]];
    
    // 相关参数
    NSString *user_uuid = [[NSUserDefaults standardUserDefaults] objectForKey:@"user_uuid"];
    NSDictionary *parameters = @{@"userUuid":user_uuid,
                                 @"pageNumber":@(0),
                                 @"pageSize":@(2)
                                 };
    [MBProgressHUD showHUDAddedTo:self.view animated:YES];
    [http getManageSportCheckListWithParameters:parameters completion:^(id response, NSError *error) {
        NSDictionary *dataDict = response[@"data"];
        NSArray *recordsArray = dataDict[@"records"];
        NSMutableArray *tempArray = [NSMutableArray array];
        
        for (NSDictionary *dict in recordsArray) {
            SpotCheckModel *spot = [[SpotCheckModel alloc] init];
            [spot setValuesForKeysWithDictionary:dict];
            [tempArray addObject:spot];
        }
        _allSpotCheckList = [NSMutableArray arrayWithArray:tempArray];
        [self.tableView.header endRefreshing];
        [MBProgressHUD hideHUDForView:self.view animated:YES];
    }];
}



- (void)refreshLookOnLineList
{
    HttpClient *http = [[HttpClient alloc] initWithUrl:[NSString stringWithFormat:@"%@%@", kRedStarURL, kStoreSportcheckURL]];
    // 相关参数
    NSString *user_uuid = [[NSUserDefaults standardUserDefaults] objectForKey:@"user_uuid"];
    
    NSDictionary *parameters = @{@"userUuid":user_uuid,
                                 @"pageNumber":@(0),
                                 @"pageSize":@(2)
                                 };
    [MBProgressHUD showHUDAddedTo:self.view animated:YES];
    [http getStoreSportCheckListWithParameters:parameters completion:^(id response, NSError *error) {
        NSDictionary *dataDict = response[@"data"];
        NSArray *recordsArray = dataDict[@"records"];
        NSMutableArray *tempArray = [NSMutableArray array];
        
        for (NSDictionary *dict in recordsArray) {
            LookOnLineModel *lookOnline = [[LookOnLineModel alloc] init];
            [lookOnline setValuesForKeysWithDictionary:dict];
            [tempArray addObject:lookOnline];
        }
        _allLookOnLineList = [NSMutableArray arrayWithArray:tempArray];
        
        [self.tableView.header endRefreshing];

        [self.tableView reloadData];
        
        [MBProgressHUD hideHUDForView:self.view animated:YES];
    }];
}



admin's avatar
admin committed
426
#pragma mark - 请求数据
admin's avatar
admin committed
427 428 429 430 431
- (void)requestRankingList
{
    
    NSString *url = [NSString stringWithFormat:@"%@%@", kRedStarURL, kRankingListURL];
    HttpClient *httpCilent = [[HttpClient alloc] initWithUrl:url];
432
    NSDictionary *parameters = @{@"praiseUuid":@"",
admin's avatar
admin committed
433 434 435
                                 @"statisMode":@(0),
                                 @"pageNumber":@(0),
                                 @"pageSize":@(3)
admin's avatar
admin committed
436
                                 };
437

admin's avatar
admin committed
438
    [httpCilent getRankingListWithParameters:parameters completion:^(id response, NSError *error) {
admin's avatar
admin committed
439
        
admin's avatar
admin committed
440 441
        NSDictionary *dataDict = response[@"data"];
        NSArray *dataArray = dataDict[@"records"];
442
        NSMutableArray *tgArray = [NSMutableArray array];
admin's avatar
admin committed
443 444
        for (NSDictionary *ListDict in dataArray) {
            RankListModel *rankList = [RankListModel rankListModelWithDict:ListDict];
445
            [tgArray addObject:rankList];
admin's avatar
admin committed
446
        }
admin's avatar
admin committed
447
        _allRankListArray = (NSMutableArray *)[self sortRankListWithRankListArray:tgArray];
448 449 450 451 452 453 454 455 456 457
        
        for (int i = 0 ; i < _allRankListArray.count; i++) {
            RankListModel *rank = _allRankListArray[i];
            if (i == 0) {
                rank.index = i + 1;
            } else {
                RankListModel *prevRank = _allRankListArray[i-1];
                rank.index = rank.score == prevRank.score ? prevRank.index: i + 1;
            }
        }
admin's avatar
admin committed
458 459
        if (_allRankListArray.count == 0) {
            [_sectionArray removeObject:@"口碑报告"];
admin's avatar
admin committed
460
        }
admin's avatar
admin committed
461 462
        [self.tableView reloadData];
        [MBProgressHUD hideHUDForView:self.view animated:YES];
admin's avatar
admin committed
463 464 465

        
        
admin's avatar
admin committed
466 467 468
    }];
}

admin's avatar
admin committed
469 470 471
- (NSArray *)sortRankListWithRankListArray:(NSMutableArray *)allRanking
{
    NSArray *sortedArray = [allRanking sortedArrayUsingComparator:^NSComparisonResult(RankListModel *p1, RankListModel *p2){
472 473
        return [@(p2.score) compare:@(p1.score)];

admin's avatar
admin committed
474 475 476 477
    }];
    return sortedArray;
}

admin's avatar
admin committed
478 479 480 481 482 483 484


- (void)requestInspectList
{
    
    NSString *url = [NSString stringWithFormat:@"%@%@", kRedStarURL, kInspectListURL];
    HttpClient *httpCilent = [[HttpClient alloc] initWithUrl:url];
485 486 487 488
    

    NSDictionary *parameters = @{
                                 @"userUuid":[[NSUserDefaults standardUserDefaults] objectForKey:@"user_uuid"],
admin's avatar
admin committed
489
                                 @"queryOrders":@[@{@"field":@"lastModifyInfo", @"direction":@"desc"}],
admin's avatar
admin committed
490 491 492 493 494 495 496
                                 @"pageNumber":@(0),
                                 @"pageSize":@(2)
                                 };
    [httpCilent getInspectListWithParameters:parameters completion:^(id response, NSError *error) {
        
        NSDictionary *dataDict = response[@"data"];
        NSArray *dataArray = dataDict[@"records"];
admin's avatar
admin committed
497
        NSMutableArray *tempArray = [NSMutableArray array];
admin's avatar
admin committed
498 499 500
        for (NSDictionary *dict in dataArray) {
            TaskListModel *taskList = [[TaskListModel alloc] init];
            [taskList setValuesForKeysWithDictionary:dict];
admin's avatar
admin committed
501
            [tempArray addObject:taskList];
admin's avatar
admin committed
502
        }
admin's avatar
admin committed
503 504
        _taskListDataArray = [NSMutableArray arrayWithArray:tempArray];
        
admin's avatar
admin committed
505 506
        if (_taskListDataArray.count == 0) {
            [_sectionArray removeObject:@"口碑巡检"];
admin's avatar
admin committed
507
        }
admin's avatar
admin committed
508 509 510 511 512 513 514
        [self.tableView reloadData];
        [MBProgressHUD hideHUDForView:self.view animated:YES];

    }];

}

515 516 517 518 519 520 521
- (void)requestQuestionList
{
    // 初始化数组
    // 请求地址
    NSString *urlStr = [NSString stringWithFormat:@"%@%@", kRedStarURL, kQuestionListURL];
    NSString *user_uuid = [[NSUserDefaults standardUserDefaults] objectForKey:@"user_uuid"];
    // 请求参数
admin's avatar
admin committed
522
    NSDictionary *parameters = @{@"user":user_uuid,
523 524
                                 @"scope":@"all",
                                 @"pageNumber":@(0),
admin's avatar
admin committed
525
                                 @"pageSize":@(2)
526 527 528 529 530 531 532 533
                                 };
    // 发起请求
    HttpClient *httpClient = [[HttpClient alloc] initWithUrl:urlStr];
    
    // 请求问题列表
    [httpClient getQuestionListWithParameters:parameters completion:^(id response, NSError *error) {
        NSDictionary *dataDict = (NSDictionary *)response[@"data"];
        NSDictionary *recordsDict = (NSDictionary *)dataDict[@"records"];
admin's avatar
admin committed
534
        NSMutableArray *tempArray = [NSMutableArray array];
535 536 537
        for (NSDictionary *questionDict in recordsDict) {
            QuestionModel *question = [[QuestionModel alloc] init];
            [question setValuesForKeysWithDictionary:questionDict];
admin's avatar
admin committed
538
            [tempArray addObject:question];
539
        }
admin's avatar
admin committed
540
        _allQuestionArray = [NSMutableArray arrayWithArray:tempArray];
admin's avatar
admin committed
541 542
        if (_allQuestionArray.count == 0) {
            [_sectionArray removeObject:@"问题知识"];
admin's avatar
admin committed
543
        }
admin's avatar
admin committed
544 545
        [self.tableView reloadData];

546 547 548 549 550
        self.tableView.tableHeaderView = self.headView;
        [MBProgressHUD hideHUDForView:self.view animated:YES];
    }];
}

551
- (void)requestPicturePraiseWithType:(NSString *)type
admin's avatar
admin committed
552 553 554 555 556 557 558 559
{
    
    // 请求地址
    NSString *urlStr = [NSString stringWithFormat:@"%@%@", kRedStarURL, kQueryPicturePraiseURL];
    NSString *user_uuid = [[NSUserDefaults standardUserDefaults] objectForKey:@"user_uuid"];
    NSDictionary *parameters = @{
                                 @"scope":@"all",
                                 @"user":user_uuid,
560
                                 @"type":type,
admin's avatar
admin committed
561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578
                                 @"pageNumber":@(0),
                                 @"pageSize":@(2)
                                 };
    
    // 发起请求
    HttpClient *httpClient = [[HttpClient alloc] initWithUrl:urlStr];
    [MBProgressHUD showHUDAddedTo:self.view animated:YES];
    
    // 请求问题列表
    [httpClient queryPicturePraiseWithParameters:parameters completion:^(id response, NSError *error) {
        NSDictionary *dataDict = response[@"data"];
        NSArray *dataArray = dataDict[@"records"];
        NSMutableArray *tempArray = [NSMutableArray array];
        for (NSDictionary *dict in dataArray) {
            PictureListModel *picList = [[PictureListModel alloc] init];
            [picList setValuesForKeysWithDictionary:dict];
            [tempArray addObject:picList];
        }
579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594
        
        if ([type isEqualToString:@"store"]) {
            _allPraiseListArray = [NSMutableArray arrayWithArray:tempArray];
            if (_allPraiseListArray.count == 0) {
                [_sectionArray removeObject:@"商场风采"];
            }
        } else if ([type isEqualToString:@"casus"]) {
            _allExcellentCaseArray = [NSMutableArray arrayWithArray:tempArray];
            if (_allExcellentCaseArray.count == 0) {
                [_sectionArray removeObject:@"优秀案例"];
            }
        } else {
            _allPatrolReportArray = [NSMutableArray arrayWithArray:tempArray];
            if (_allPatrolReportArray.count == 0) {
                [_sectionArray removeObject:@"巡店报告"];
            }
admin's avatar
admin committed
595
        }
596
        
admin's avatar
admin committed
597
        [self.tableView reloadData];
598
        [MBProgressHUD hideAllHUDsForView:self.view animated:YES];
admin's avatar
admin committed
599 600 601 602
    }];
    
}

603 604 605 606 607 608 609 610 611 612 613 614
- (void)requestSpotCheckList
{
    HttpClient *http = [[HttpClient alloc] initWithUrl:[NSString stringWithFormat:@"%@%@", kRedStarURL, kManageSportcheckURL]];
    
    // 相关参数
    NSString *user_uuid = [[NSUserDefaults standardUserDefaults] objectForKey:@"user_uuid"];
    NSDictionary *parameters = @{@"userUuid":user_uuid,
                                 @"pageNumber":@(0),
                                 @"pageSize":@(2)
                                 };
    [MBProgressHUD showHUDAddedTo:self.view animated:YES];
    [http getManageSportCheckListWithParameters:parameters completion:^(id response, NSError *error) {
admin's avatar
admin committed
615

616 617 618 619 620 621 622 623 624 625 626 627 628
        NSDictionary *dataDict = response[@"data"];
        NSArray *recordsArray = dataDict[@"records"];
        NSMutableArray *tempArray = [NSMutableArray array];
        
        for (NSDictionary *dict in recordsArray) {
            SpotCheckModel *spot = [[SpotCheckModel alloc] init];
            [spot setValuesForKeysWithDictionary:dict];
            [tempArray addObject:spot];
        }
        _allSpotCheckList = [NSMutableArray arrayWithArray:tempArray];
        
        if (_allSpotCheckList.count == 0) {
            [_sectionArray removeObject:@"在线抽查"];
admin's avatar
admin committed
629 630 631 632
        } else {
            if (![_sectionArray containsObject:@"在线抽查"]) {
                [_sectionArray addObject:@"在线抽查"];
            }
633 634 635 636 637 638 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
        }
        [MBProgressHUD hideAllHUDsForView:self.view animated:YES];
    }];
}



- (void)requestLookOnLineList
{
    HttpClient *http = [[HttpClient alloc] initWithUrl:[NSString stringWithFormat:@"%@%@", kRedStarURL, kStoreSportcheckURL]];
    // 相关参数
    NSString *user_uuid = [[NSUserDefaults standardUserDefaults] objectForKey:@"user_uuid"];
    
    NSDictionary *parameters = @{@"userUuid":user_uuid,
                                 @"pageNumber":@(0),
                                 @"pageSize":@(2)
                                 };
    [MBProgressHUD showHUDAddedTo:self.view animated:YES];
    [http getStoreSportCheckListWithParameters:parameters completion:^(id response, NSError *error) {
        NSDictionary *dataDict = response[@"data"];
        NSArray *recordsArray = dataDict[@"records"];
        NSMutableArray *tempArray = [NSMutableArray array];
        
        for (NSDictionary *dict in recordsArray) {
            LookOnLineModel *lookOnline = [[LookOnLineModel alloc] init];
            [lookOnline setValuesForKeysWithDictionary:dict];
            [tempArray addObject:lookOnline];
        }
        _allLookOnLineList = [NSMutableArray arrayWithArray:tempArray];

        if (_allLookOnLineList.count == 0) {
admin's avatar
admin committed
664 665 666 667 668 669
            [_sectionArray removeObject:@"在线抽查"];
        } else {
            if (![_sectionArray containsObject:@"在线抽查"]) {
                [_sectionArray addObject:@"在线抽查"];
            }

670 671 672 673 674 675 676 677
        }
        [self.tableView reloadData];
        
        [MBProgressHUD hideHUDForView:self.view animated:YES];
    }];
}


678

admin's avatar
admin committed
679
#pragma mark - Private Methods
admin's avatar
admin committed
680 681 682 683 684 685 686
- (void)setupNav
{
    UIEdgeInsets insets = UIEdgeInsetsMake( 0, 199, 0, 175);
    UIImage *image = [[UIImage imageNamed:@"home_title"] resizableImageWithCapInsets:insets resizingMode:UIImageResizingModeStretch];
    self.bgImageView.image = image;
    self.searchTextField.backgroundColor = [UIColor clearColor];
    self.nameLabel.backgroundColor = [UIColor clearColor];
admin's avatar
admin committed
687
    _nameLabel.text = [NSString stringWithFormat:@"%@,你好!", [[NSUserDefaults standardUserDefaults] objectForKey:@"user_name"]];
admin's avatar
admin committed
688
    self.shopnameLabel.backgroundColor = [UIColor clearColor];
admin's avatar
admin committed
689
    _shopnameLabel.text = [NSString stringWithFormat:@"%@", [[NSUserDefaults standardUserDefaults] objectForKey:@"org_name"]];
admin's avatar
admin committed
690 691 692

}

admin's avatar
admin committed
693 694
- (void)setupTableView
{
admin's avatar
admin committed
695
    self.headView = [[HomeHeaderView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, 115)];
admin's avatar
admin committed
696
    
admin's avatar
admin committed
697 698
    self.headView.scrollView.contentSize = CGSizeMake(2 * kScreenWidth, 86);
    CGFloat itemW = kScreenWidth / 4;
admin's avatar
admin committed
699
    CGFloat itemH = self.headView.scrollView.frame.size.height;
admin's avatar
admin committed
700

admin's avatar
admin committed
701
    for (int i = 0; i < _titleArray.count; i++) {
admin's avatar
admin committed
702 703
        HomeCellItem *item = [[HomeCellItem alloc] init];
        item.frame = CGRectMake(i * itemW, 0, itemW, itemH);
admin's avatar
admin committed
704
        NSString *nameStr = _titleArray[i];
admin's avatar
admin committed
705
        UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"%@", nameStr]];
admin's avatar
admin committed
706 707
        [item setImage:image forState:UIControlStateNormal];
        [item setTitleColor:kPictureCellDetailsColor forState:UIControlStateNormal];
admin's avatar
admin committed
708
        [item setTitle:nameStr forState:UIControlStateNormal];
admin's avatar
admin committed
709 710 711
        [item addTarget:self action:@selector(itemClick:) forControlEvents:UIControlEventTouchUpInside];
        [self.headView.scrollView addSubview:item];
    }
admin's avatar
admin committed
712 713 714 715 716 717 718 719 720
    
    self.tableView.tableHeaderView = self.headView;
    
    // 设置下拉刷新
    self.tableView.header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
        // 进入刷新状态后会自动调用这个block
        [self refreshAllData];
        
    }];
admin's avatar
admin committed
721 722
    [self.tableView reloadData];

admin's avatar
admin committed
723 724
}

725
// 更多按钮点击事件
admin's avatar
admin committed
726 727
- (void)moreButtonClick:(UIButton *)sender
{
admin's avatar
admin committed
728 729
    NSArray *permissions = [[NSUserDefaults standardUserDefaults] objectForKey:@"permissions"];

admin's avatar
admin committed
730
    NSInteger section = sender.tag - 332892;
731
    UINavigationController *nav;
admin's avatar
admin committed
732
    if ([_sectionArray[section] isEqualToString:@"在线抽查"]) {
admin's avatar
admin committed
733 734 735 736 737 738 739 740
        
        if ([permissions containsObject:@"500701"]) {
            SpotCheckOnLineViewController *spotOnline = [[SpotCheckOnLineViewController alloc] init];
            nav = [[UINavigationController alloc] initWithRootViewController:spotOnline];
        } else if ([permissions containsObject:@"500702"]){
            LookOnLineViewController *lookOnLine = [[LookOnLineViewController alloc] init];
            nav = [[UINavigationController alloc] initWithRootViewController:lookOnLine];
        }
admin's avatar
admin committed
741
    } else if ([_sectionArray[section] isEqualToString:@"口碑巡检"]) {
admin's avatar
admin committed
742 743
        InspectListViewController *inspectListVC = [[InspectListViewController alloc] init];
        nav = [[UINavigationController alloc] initWithRootViewController:inspectListVC];
admin's avatar
admin committed
744 745 746 747 748 749 750
    } else if ([_sectionArray[section] isEqualToString:@"口碑标准"]) {
        StandardViewController *standardVC = [[StandardViewController alloc] init];
        nav = [[UINavigationController alloc] initWithRootViewController:standardVC];
    } else if ([_sectionArray[section] isEqualToString:@"图说口碑"]) {
        PicCategoryViewController *pictureVC = [[PicCategoryViewController alloc] init];
        nav = [[UINavigationController alloc] initWithRootViewController:pictureVC];
    } else if ([_sectionArray[section] isEqualToString:@"问题知识"]) {
751 752
        QuestionViewController *questionVC = [[QuestionViewController alloc] init];
        nav = [[UINavigationController alloc] initWithRootViewController:questionVC];
admin's avatar
admin committed
753 754 755 756 757 758
    } else if ([_sectionArray[section] isEqualToString:@"口碑报告"]){
        RankingListViewController *rankingListVC = [[RankingListViewController alloc] init];
        nav = [[UINavigationController alloc] initWithRootViewController:rankingListVC];
    } else if ([_sectionArray[section] isEqualToString:@"商场风采"]) {
        PictureViewController *pic = [[PictureViewController alloc] init];
        pic.come = @"首页";
admin's avatar
admin committed
759
        pic.titleStr = @"商场风采";
admin's avatar
admin committed
760 761
        pic.category = @"store";
        nav = [[UINavigationController alloc] initWithRootViewController:pic];
762 763 764 765 766 767 768 769 770 771 772 773
    } else if ([_sectionArray[section] isEqualToString:@"优秀案例"]) {
        PictureViewController *pic = [[PictureViewController alloc] init];
        pic.come = @"首页";
        pic.titleStr = @"优秀案例";
        pic.category = @"casus";
        nav = [[UINavigationController alloc] initWithRootViewController:pic];
    } else if ([_sectionArray[section] isEqualToString:@"巡店报告"]) {
        PictureViewController *pic = [[PictureViewController alloc] init];
        pic.come = @"首页";
        pic.titleStr = @"巡店报告";
        pic.category = @"report";
        nav = [[UINavigationController alloc] initWithRootViewController:pic];
774 775 776 777 778
    }
    
    [nav.navigationBar setBarTintColor:kNavigationBarColor];
    [nav.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor],NSForegroundColorAttributeName,nil]];
    [self presentViewController:nav animated:YES completion:nil];
admin's avatar
admin committed
779
    
admin's avatar
admin committed
780 781
}

admin's avatar
admin committed
782
- (void)itemClick:(HomeCellItem *)sender
admin's avatar
admin committed
783
{
admin's avatar
admin committed
784 785 786
    NSArray *permissions = [[NSUserDefaults standardUserDefaults] objectForKey:@"permissions"];

    
admin's avatar
admin committed
787 788 789
    HomeCellItem *item = (HomeCellItem *)sender;
    UINavigationController *nav;
    if ([item.titleLabel.text isEqualToString:@"在线抽查"]) {
admin's avatar
admin committed
790 791 792 793 794 795 796 797 798
        
        if ([permissions containsObject:@"500701"]) {
            SpotCheckOnLineViewController *spotOnline = [[SpotCheckOnLineViewController alloc] init];
            nav = [[UINavigationController alloc] initWithRootViewController:spotOnline];
        } else if ([permissions containsObject:@"500702"]){
            LookOnLineViewController *lookOnLine = [[LookOnLineViewController alloc] init];
            nav = [[UINavigationController alloc] initWithRootViewController:lookOnLine];
            
        }
admin's avatar
admin committed
799
    } else if ([item.titleLabel.text isEqualToString:@"口碑巡检"]) {
admin's avatar
admin committed
800 801 802
        InspectListViewController *inspectListVC = [[InspectListViewController alloc] init];
        nav = [[UINavigationController alloc] initWithRootViewController:inspectListVC];
    } else if ([item.titleLabel.text isEqualToString:@"口碑标准"]) {
admin's avatar
admin committed
803 804
        StandardViewController *standardVC = [[StandardViewController alloc] init];
        nav = [[UINavigationController alloc] initWithRootViewController:standardVC];
admin's avatar
admin committed
805
    } else if ([item.titleLabel.text isEqualToString:@"图说口碑"]) {
admin's avatar
admin committed
806
        PicCategoryViewController *pictureVC = [[PicCategoryViewController alloc] init];
admin's avatar
admin committed
807
        nav = [[UINavigationController alloc] initWithRootViewController:pictureVC];
admin's avatar
admin committed
808
    } else if ([item.titleLabel.text isEqualToString:@"问题知识"]) {
admin's avatar
admin committed
809 810
        QuestionViewController *questionVC = [[QuestionViewController alloc] init];
        nav = [[UINavigationController alloc] initWithRootViewController:questionVC];
admin's avatar
admin committed
811
    } else if ([item.titleLabel.text isEqualToString:@"口碑报告"]){
admin's avatar
admin committed
812 813
        RankingListViewController *rankingListVC = [[RankingListViewController alloc] init];
        nav = [[UINavigationController alloc] initWithRootViewController:rankingListVC];
admin's avatar
admin committed
814 815 816 817
    } else if ([item.titleLabel.text isEqualToString:@"商场风采"]) {
        PictureViewController *pic = [[PictureViewController alloc] init];
        pic.come = @"首页";
        pic.category = @"store";
admin's avatar
admin committed
818
        pic.titleStr = @"商场风采";
admin's avatar
admin committed
819
        nav = [[UINavigationController alloc] initWithRootViewController:pic];
admin's avatar
admin committed
820
    }
admin's avatar
admin committed
821
    
admin's avatar
admin committed
822 823 824
    [nav.navigationBar setBarTintColor:kNavigationBarColor];
    [nav.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor],NSForegroundColorAttributeName,nil]];
    [self presentViewController:nav animated:YES completion:nil];
admin's avatar
admin committed
825 826 827 828 829 830 831 832
}




#pragma mark - TableView Delegate/DataSource
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
admin's avatar
admin committed
833
    return _sectionArray.count;
admin's avatar
admin committed
834 835 836 837 838
}


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
admin's avatar
admin committed
839 840 841
    NSArray *permissions = [[NSUserDefaults standardUserDefaults] objectForKey:@"permissions"];

    
admin's avatar
admin committed
842 843 844 845
    NSUInteger s2 = [_sectionArray indexOfObject:@"口碑报告"];
    NSUInteger s4 = [_sectionArray indexOfObject:@"商场风采"];
    NSUInteger s3 = [_sectionArray indexOfObject:@"问题知识"];
    NSUInteger s1 = [_sectionArray indexOfObject:@"口碑巡检"];
846 847
    NSUInteger s5 = [_sectionArray indexOfObject:@"优秀案例"];
    NSUInteger s6 = [_sectionArray indexOfObject:@"巡店报告"];
848
    NSUInteger s7 = [_sectionArray indexOfObject:@"在线抽查"];
admin's avatar
admin committed
849
    //NSUInteger s8 = [_sectionArray indexOfObject:@"在线抽查"];
admin's avatar
admin committed
850 851 852 853 854 855 856 857 858
    
    if ([_sectionArray[section] isEqualToString:@"口碑巡检"] && section == s1) {
        return _taskListDataArray.count;
    } else if ([_sectionArray[section] isEqualToString:@"口碑报告"] && section == s2) {
        return _allRankListArray.count + 1;
    } else if ([_sectionArray[section] isEqualToString:@"问题知识"] && section == s3) {
        return _allQuestionArray.count;
    } else if ([_sectionArray[section] isEqualToString:@"商场风采"] && section == s4) {
        return _allPraiseListArray.count;
859 860 861 862
    } else if ([_sectionArray[section] isEqualToString:@"优秀案例"] && section == s5) {
        return _allExcellentCaseArray.count;
    } else if ([_sectionArray[section] isEqualToString:@"巡店报告"] && section == s6) {
        return _allPatrolReportArray.count;
863
    } else if ([_sectionArray[section] isEqualToString:@"在线抽查"] && section == s7) {
admin's avatar
admin committed
864 865 866 867 868 869 870
        if ([permissions containsObject:@"500701"]) {
            return _allSpotCheckList.count;
        } else if ([permissions containsObject:@"500702"]){
            return _allLookOnLineList.count;
        } else {
            return 0;
        }
admin's avatar
admin committed
871 872 873
    } else {
        return 0;
    }
admin's avatar
admin committed
874 875
}

admin's avatar
admin committed
876

admin's avatar
admin committed
877 878 879
// cell显示的内容
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
admin's avatar
admin committed
880 881 882 883
    
    NSArray *permissions = [[NSUserDefaults standardUserDefaults] objectForKey:@"permissions"];

    
admin's avatar
admin committed
884 885 886 887
    NSUInteger s2 = [_sectionArray indexOfObject:@"口碑报告"];
    NSUInteger s4 = [_sectionArray indexOfObject:@"商场风采"];
    NSUInteger s3 = [_sectionArray indexOfObject:@"问题知识"];
    NSUInteger s1 = [_sectionArray indexOfObject:@"口碑巡检"];
888 889
    NSUInteger s5 = [_sectionArray indexOfObject:@"优秀案例"];
    NSUInteger s6 = [_sectionArray indexOfObject:@"巡店报告"];
890
    NSUInteger s7 = [_sectionArray indexOfObject:@"在线抽查"];
admin's avatar
admin committed
891
    //NSUInteger s8 = [_sectionArray indexOfObject:@"在线抽查"];
admin's avatar
admin committed
892

admin's avatar
admin committed
893
    if ([_sectionArray[indexPath.section] isEqualToString:@"口碑巡检"] && indexPath.section == s1) {
admin's avatar
admin committed
894 895 896
        InspectListCell *cell=[tableView dequeueReusableCellWithIdentifier:kHomeInspectListCell];
        if (!cell) {
            cell = [[InspectListCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:kHomeInspectListCell];
admin's avatar
admin committed
897
        }
admin's avatar
admin committed
898 899 900 901 902 903 904 905
        TaskListModel *taskList = _taskListDataArray[indexPath.row];
        cell.taskList = taskList;
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
        cell.allView.backgroundColor = kProgressViewAllBackColor;
        UIImage *image = [UIImage imageNamed:@"progress-bar"];
        image = [image resizableImageWithCapInsets:UIEdgeInsetsZero resizingMode:UIImageResizingModeTile];
        cell.alreadyView.image = image;
        return cell;
admin's avatar
admin committed
906
    } else if ([_sectionArray[indexPath.section] isEqualToString:@"口碑报告"] && indexPath.section == s2) {
admin's avatar
admin committed
907 908
        if (indexPath.row == 0) {
            HomeTitleTableCell *cell=[tableView dequeueReusableCellWithIdentifier:kHomeTitleTableCell];
admin's avatar
admin committed
909
            if (!cell) {
admin's avatar
admin committed
910
                cell = [[HomeTitleTableCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:kHomeTitleTableCell];
admin's avatar
admin committed
911 912 913 914
            }
            cell.selectionStyle = UITableViewCellSelectionStyleNone;
            return cell;
        } else {
admin's avatar
admin committed
915
            RankingListCell *cell = [tableView dequeueReusableCellWithIdentifier:kHomeRankingListCell];
admin's avatar
admin committed
916
            if (!cell) {
admin's avatar
admin committed
917
                cell = [[RankingListCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:kHomeRankingListCell];
admin's avatar
admin committed
918
            }
admin's avatar
admin committed
919 920 921 922 923 924 925 926 927
            for (int i = 0 ; i < _allRankListArray.count; i++) {
                RankListModel *rank = _allRankListArray[i];
                if (i == 0) {
                    rank.index = i + 1;
                } else {
                    RankListModel *prevRank = _allRankListArray[i-1];
                    rank.index = rank.score == prevRank.score ? prevRank.index: i + 1;
                }
            }
928 929
            RankListModel *rankList = _allRankListArray[indexPath.row - 1];
            cell.rankList = rankList;
admin's avatar
admin committed
930
            cell.gradeImageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"medal_0%d", rankList.index]];
admin's avatar
admin committed
931 932
            cell.selectionStyle = UITableViewCellSelectionStyleNone;
            return cell;
admin's avatar
admin committed
933
        }
admin's avatar
admin committed
934
    } else if ([_sectionArray[indexPath.section] isEqualToString:@"问题知识"] && indexPath.section == s3) {
admin's avatar
admin committed
935 936 937 938 939 940 941 942 943
        // 问题与知识
        QuestionListTableCell *cell = [tableView dequeueReusableCellWithIdentifier:kHomeQuestionListTableCell];
        if (!cell) {
            cell = [[QuestionListTableCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:kHomeQuestionListTableCell];
        }
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
        QuestionModel *question = _allQuestionArray[indexPath.row];
        cell.question = question;
        return cell;
admin's avatar
admin committed
944 945 946 947 948 949 950
    } else if ([_sectionArray[indexPath.section] isEqualToString:@"商场风采"] && indexPath.section == s4) {
        PictureTableCell *cell=[tableView dequeueReusableCellWithIdentifier:KHomePicTableCell];
        if (!cell) {
            cell = [[PictureTableCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:KHomePicTableCell];
        }
        cell.pictureList = _allPraiseListArray[indexPath.row];
        return cell;
951 952 953 954 955 956 957 958 959 960 961 962 963 964
    } else if ([_sectionArray[indexPath.section] isEqualToString:@"优秀案例"] && indexPath.section == s5) {
        PictureTableCell *cell=[tableView dequeueReusableCellWithIdentifier:KHomePicTableCell];
        if (!cell) {
            cell = [[PictureTableCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:KHomePicTableCell];
        }
        cell.pictureList = _allExcellentCaseArray[indexPath.row];
        return cell;
    } else if ([_sectionArray[indexPath.section] isEqualToString:@"巡店报告"] && indexPath.section == s6) {
        PictureTableCell *cell=[tableView dequeueReusableCellWithIdentifier:KHomePicTableCell];
        if (!cell) {
            cell = [[PictureTableCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:KHomePicTableCell];
        }
        cell.pictureList = _allPatrolReportArray[indexPath.row];
        return cell;
965 966
    } else if ([_sectionArray[indexPath.section] isEqualToString:@"在线抽查"] && indexPath.section == s7) {
        
admin's avatar
admin committed
967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984
        if ([permissions containsObject:@"500701"]) {
            SpotCheckTableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:kHomeSpotCehcekCell];
            if (!cell) {
                cell = [[SpotCheckTableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:kHomeSpotCehcekCell];
            }
            cell.spotCheck = _allSpotCheckList[indexPath.row];
            cell.selectionStyle = UITableViewCellSelectionStyleNone;
            return cell;
        } else if ([permissions containsObject:@"500702"]){
            LookOnLineTableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:kHomeLookOnLineCell];
            if (!cell) {
                cell = [[LookOnLineTableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:kHomeLookOnLineCell];
            }
            cell.lookOnLine = _allLookOnLineList[indexPath.row];
            cell.selectionStyle = UITableViewCellSelectionStyleNone;
            return cell;
        } else {
            return nil;
985 986
        }
    }  else {
admin's avatar
admin committed
987
        return nil;
admin's avatar
admin committed
988
    }
admin's avatar
admin committed
989 990 991 992 993
}

// cell点击事件
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
admin's avatar
admin committed
994 995
    NSArray *permissions = [[NSUserDefaults standardUserDefaults] objectForKey:@"permissions"];

admin's avatar
admin committed
996 997 998 999
    NSUInteger s2 = [_sectionArray indexOfObject:@"口碑报告"];
    NSUInteger s4 = [_sectionArray indexOfObject:@"商场风采"];
    NSUInteger s3 = [_sectionArray indexOfObject:@"问题知识"];
    NSUInteger s1 = [_sectionArray indexOfObject:@"口碑巡检"];
1000 1001
    NSUInteger s5 = [_sectionArray indexOfObject:@"优秀案例"];
    NSUInteger s6 = [_sectionArray indexOfObject:@"巡店报告"];
1002
    NSUInteger s7 = [_sectionArray indexOfObject:@"在线抽查"];
admin's avatar
admin committed
1003
    //NSUInteger s8 = [_sectionArray indexOfObject:@"在线抽查"];
admin's avatar
admin committed
1004
    if ([_sectionArray[indexPath.section] isEqualToString:@"口碑巡检"] && indexPath.section == s1) {
admin's avatar
admin committed
1005 1006 1007 1008 1009 1010 1011
        InspectTaskViewController *inspectTaskVC = [[InspectTaskViewController alloc] init];
        TaskListModel *taskList = self.taskListDataArray[indexPath.row];
        inspectTaskVC.uuid = taskList.uuid;
        inspectTaskVC.store_uuid = taskList.store_uuid;
        inspectTaskVC.multiplier = (CGFloat)taskList.reportCount / taskList.questionCount ;
        self.hidesBottomBarWhenPushed = YES;
        [self.navigationController pushViewController:inspectTaskVC animated:YES];
admin's avatar
admin committed
1012
    } else if ([_sectionArray[indexPath.section] isEqualToString:@"口碑报告"] && indexPath.section == s2) {
1013 1014 1015
        if (indexPath.row == 0) {
            return;
        }
admin's avatar
admin committed
1016 1017
        RankListModel *rankList = _allRankListArray[indexPath.row - 1];
        RankDetailViewController *rankDetailVC = [[RankDetailViewController alloc] init];
1018
        rankDetailVC.indexRow = rankList.index;
admin's avatar
admin committed
1019 1020 1021 1022
        rankDetailVC.uuid = rankList.uuid;
        rankDetailVC.store_uuid = rankList.store_uuid;
        rankDetailVC.storeAddress = rankList.storeAddress;
        rankDetailVC.storePictures = rankList.storePictures;
admin's avatar
admin committed
1023
        rankDetailVC.commentId = rankList.commentId;
admin's avatar
admin committed
1024 1025
        self.hidesBottomBarWhenPushed = YES;
        [self.navigationController pushViewController:rankDetailVC animated:YES];
admin's avatar
admin committed
1026
    } else if ([_sectionArray[indexPath.section] isEqualToString:@"问题知识"] && indexPath.section == s3) {
admin's avatar
admin committed
1027 1028 1029 1030 1031
        QuestionDetailViewController *questionDetailVC = [[QuestionDetailViewController alloc] init];
        QuestionModel *question = self.allQuestionArray[indexPath.row];
        questionDetailVC.questionUuid = question.uuid;
        self.hidesBottomBarWhenPushed = YES;
        [self.navigationController pushViewController:questionDetailVC animated:YES];
admin's avatar
admin committed
1032 1033 1034 1035
    } else if ([_sectionArray[indexPath.section] isEqualToString:@"商场风采"] && indexPath.section == s4) {
        PictureListModel *picList = _allPraiseListArray[indexPath.row];
        PictureStoryViewController *storyVC = [[PictureStoryViewController alloc] init];
        storyVC.uuid = picList.uuid;
1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050
        storyVC.titleStr = @"商场风采";
        self.hidesBottomBarWhenPushed = YES;
        [self.navigationController pushViewController:storyVC animated:YES];
    } else if ([_sectionArray[indexPath.section] isEqualToString:@"优秀案例"] && indexPath.section == s5) {
        PictureListModel *picList = _allExcellentCaseArray[indexPath.row];
        PictureStoryViewController *storyVC = [[PictureStoryViewController alloc] init];
        storyVC.uuid = picList.uuid;
        storyVC.titleStr = @"优秀案例";
        self.hidesBottomBarWhenPushed = YES;
        [self.navigationController pushViewController:storyVC animated:YES];
    } else if ([_sectionArray[indexPath.section] isEqualToString:@"巡店报告"] && indexPath.section == s6) {
        PictureListModel *picList = _allPatrolReportArray[indexPath.row];
        PictureStoryViewController *storyVC = [[PictureStoryViewController alloc] init];
        storyVC.uuid = picList.uuid;
        storyVC.titleStr = @"巡店报告";
admin's avatar
admin committed
1051 1052
        self.hidesBottomBarWhenPushed = YES;
        [self.navigationController pushViewController:storyVC animated:YES];
1053
    } else if ([_sectionArray[indexPath.section] isEqualToString:@"在线抽查"] && indexPath.section == s7) {
admin's avatar
admin committed
1054 1055 1056 1057 1058 1059 1060 1061 1062
        
        
        
        if ([permissions containsObject:@"500701"]) {
            SpotCheckModel *spot = _allSpotCheckList[indexPath.row];
            OnLineCompleteViewController *completeVC = [[OnLineCompleteViewController alloc] init];
            completeVC.uuid = spot.uuid;
            self.hidesBottomBarWhenPushed = YES;
            [self.navigationController pushViewController:completeVC animated:YES];
admin's avatar
admin committed
1063
            
admin's avatar
admin committed
1064 1065
        } else if ([permissions containsObject:@"500702"]){
            LookOnLineModel *lookOnLine = _allLookOnLineList[indexPath.row];
admin's avatar
admin committed
1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083
//            LookOnLineDetailViewController *lookDetailVC = [[LookOnLineDetailViewController alloc] init];
//            lookDetailVC.lookOnLine = lookOnLine;
//            self.hidesBottomBarWhenPushed = YES;
//            [self.navigationController pushViewController:lookDetailVC animated:YES];
            
            if ([lookOnLine.state isEqualToString:@"initial"]) {
                LookOnLineDetailViewController *lookDetailVC = [[LookOnLineDetailViewController alloc] init];
                // lookDetailVC.delegate = self;
                lookDetailVC.lookOnLine = lookOnLine;
                self.hidesBottomBarWhenPushed = YES;
                [self.navigationController pushViewController:lookDetailVC animated:YES];
            } else {
                LookReportDetailViewController *lookReportVC = [[LookReportDetailViewController alloc] init];
                lookReportVC.lookOnLine = lookOnLine;
                self.hidesBottomBarWhenPushed = YES;
                [self.navigationController pushViewController:lookReportVC animated:YES];
            }
            
admin's avatar
admin committed
1084 1085 1086 1087 1088
        } else {
            return;
        }
        
    } else {
admin's avatar
admin committed
1089
        return;
admin's avatar
admin committed
1090
    }
admin's avatar
admin committed
1091 1092 1093 1094 1095 1096
}


// section高度
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
admin's avatar
admin committed
1097
    return 36;
admin's avatar
admin committed
1098 1099 1100 1101
}

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
{
admin's avatar
admin committed
1102
    return 10;
admin's avatar
admin committed
1103 1104 1105 1106 1107
}

// 自定义section
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
admin's avatar
admin committed
1108
    
1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135
        // 创建sectionView
        UIView *sectionView = [[UIView alloc] init];
        sectionView.userInteractionEnabled = YES;
        sectionView.backgroundColor = [UIColor whiteColor];
        
        UIView *lineView = [[UIView alloc] init];
        lineView.translatesAutoresizingMaskIntoConstraints = NO;
        lineView.backgroundColor = kSeparateLineColor;
        [sectionView addSubview:lineView];
        
        NSLayoutConstraint *lineTop = [NSLayoutConstraint constraintWithItem:lineView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:sectionView attribute:NSLayoutAttributeTop multiplier:1.0 constant:0];
        [sectionView addConstraint:lineTop];
        
        NSLayoutConstraint *lineLeft = [NSLayoutConstraint constraintWithItem:lineView attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:sectionView attribute:NSLayoutAttributeLeft multiplier:1.0 constant:0];
        [sectionView addConstraint:lineLeft];
        
        NSLayoutConstraint *lineRight = [NSLayoutConstraint constraintWithItem:lineView attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:sectionView attribute:NSLayoutAttributeRight multiplier:1.0 constant:0];
        [sectionView addConstraint:lineRight];
        
        NSLayoutConstraint *lineHeight = [NSLayoutConstraint constraintWithItem:lineView attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:0.5];
        [sectionView addConstraint:lineHeight];
        
        // 创建标题label
        UILabel *titleLabel = [[UILabel alloc] init];
        titleLabel.translatesAutoresizingMaskIntoConstraints = NO;
        titleLabel.textColor = kPictureCellDetailsColor;
        titleLabel.font = [UIFont systemFontOfSize:17.0];
admin's avatar
admin committed
1136

admin's avatar
admin committed
1137
        titleLabel.text = _sectionArray[section];
admin's avatar
admin committed
1138

admin's avatar
admin committed
1139
    
1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170
        [sectionView addSubview:titleLabel];
        
        
        // 查看更多按钮
        UIButton *moreButton = [[UIButton alloc] init];
        moreButton.tag = 332892 + section;
        moreButton.translatesAutoresizingMaskIntoConstraints = NO;
        [moreButton setTitle:@"更多" forState:UIControlStateNormal];
        [moreButton setTitleColor:kMoreButtonTextColor forState:UIControlStateNormal];
        [moreButton addTarget:self action:@selector(moreButtonClick:) forControlEvents:UIControlEventTouchUpInside];
        moreButton.titleLabel.font = [UIFont systemFontOfSize:13.0];
        [sectionView addSubview:moreButton];
        
        // 箭头Iamge
        UIImageView *arrowIamgeView = [[UIImageView alloc] init];
        arrowIamgeView.image = [UIImage imageNamed:@"arrow_right"];
        arrowIamgeView.translatesAutoresizingMaskIntoConstraints = NO;
        [sectionView addSubview:arrowIamgeView];
        
        NSLayoutConstraint *titleLabelTop = [NSLayoutConstraint constraintWithItem:titleLabel attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:sectionView attribute:NSLayoutAttributeTop multiplier:1.0 constant:3];
        [sectionView addConstraint:titleLabelTop];
        
        NSLayoutConstraint *titleLabelLeft = [NSLayoutConstraint constraintWithItem:titleLabel attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:sectionView attribute:NSLayoutAttributeLeft multiplier:1.0 constant:20];
        [sectionView addConstraint:titleLabelLeft];
        
        NSLayoutConstraint *titleLabelRight = [NSLayoutConstraint constraintWithItem:titleLabel attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:moreButton attribute:NSLayoutAttributeLeft multiplier:1.0 constant:0];
        [sectionView addConstraint:titleLabelRight];
        
        NSLayoutConstraint *titleLabelBottom = [NSLayoutConstraint constraintWithItem:titleLabel attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:sectionView attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0];
        [sectionView addConstraint:titleLabelBottom];
        
admin's avatar
admin committed
1171
    
1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202
        
        
        // moreButton布局
        NSLayoutConstraint *moreButtonTop = [NSLayoutConstraint constraintWithItem:moreButton attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:sectionView attribute:NSLayoutAttributeTop multiplier:1.0 constant:3];
        [sectionView addConstraint:moreButtonTop];
        
        NSLayoutConstraint *moreButtonRight = [NSLayoutConstraint constraintWithItem:moreButton attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:arrowIamgeView attribute:NSLayoutAttributeLeft multiplier:1.0 constant:0];
        [sectionView addConstraint:moreButtonRight];
        
        NSLayoutConstraint *moreButtonWidth = [NSLayoutConstraint constraintWithItem:moreButton attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:35];
        [sectionView addConstraint:moreButtonWidth];
        
        NSLayoutConstraint *moreButtonBottom = [NSLayoutConstraint constraintWithItem:moreButton attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:sectionView attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0];
        [sectionView addConstraint:moreButtonBottom];
        
        // arrowIamgeView布局
        NSLayoutConstraint *arrowIamgeViewTop = [NSLayoutConstraint constraintWithItem:arrowIamgeView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:sectionView attribute:NSLayoutAttributeTop multiplier:1.0 constant:13];
        [sectionView addConstraint:arrowIamgeViewTop];
        
        NSLayoutConstraint *arrowIamgeViewRight = [NSLayoutConstraint constraintWithItem:arrowIamgeView attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:sectionView attribute:NSLayoutAttributeRight multiplier:1.0 constant:-20];
        [sectionView addConstraint:arrowIamgeViewRight];
        
        NSLayoutConstraint *arrowIamgeViewWidth = [NSLayoutConstraint constraintWithItem:arrowIamgeView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:7];
        [sectionView addConstraint:arrowIamgeViewWidth];
        
        NSLayoutConstraint *arrowIamgeViewHeight = [NSLayoutConstraint constraintWithItem:arrowIamgeView attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:12];
        [sectionView addConstraint:arrowIamgeViewHeight];
        
        
        return sectionView;
}
admin's avatar
admin committed
1203

admin's avatar
admin committed
1204

admin's avatar
admin committed
1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241

#pragma mark - lazy loading
- (UIImageView *)bgImageView
{
    if (!_bgImageView) {
        _bgImageView = [[UIImageView alloc] init];
        _bgImageView.translatesAutoresizingMaskIntoConstraints = NO;
        _bgImageView.userInteractionEnabled = YES;
        [self.view addSubview:_bgImageView];
        
        NSLayoutConstraint *bgImageTop = [NSLayoutConstraint constraintWithItem:_bgImageView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeTop multiplier:1.0 constant:0];
        [self.view addConstraint:bgImageTop];
        
        NSLayoutConstraint *bgImageLeft = [NSLayoutConstraint constraintWithItem:_bgImageView attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeLeft multiplier:1.0 constant:0];
        [self.view addConstraint:bgImageLeft];
        
        NSLayoutConstraint *bgImageHeight = [NSLayoutConstraint constraintWithItem:_bgImageView attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:95];
        [self.view addConstraint:bgImageHeight];
        
        NSLayoutConstraint *bgImageRight = [NSLayoutConstraint constraintWithItem:_bgImageView attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeRight multiplier:1.0 constant:0];
        [self.view addConstraint:bgImageRight];
    }
    return _bgImageView;
}

- (UITextField *)searchTextField
{
    if (!_searchTextField) {
        _searchTextField = [[UITextField alloc] init];
        _searchTextField.translatesAutoresizingMaskIntoConstraints = NO;
        _searchTextField.font = [UIFont systemFontOfSize:13.0];
        _searchTextField.textAlignment = NSTextAlignmentCenter;
        _searchTextField.layer.cornerRadius = 4.0;
        _searchTextField.textColor = [UIColor whiteColor];
        _searchTextField.layer.borderColor = [[UIColor whiteColor] CGColor];
        _searchTextField.layer.borderWidth = 0.5;
        _searchTextField.placeholder = @"查询";
admin's avatar
admin committed
1242
        _searchTextField.delegate = self;
admin's avatar
admin committed
1243
        [_searchTextField setValue:[UIColor whiteColor] forKeyPath:@"_placeholderLabel.textColor"];
admin's avatar
admin committed
1244 1245 1246 1247
        UIButton *imageV = [[UIButton alloc] init];
        imageV.frame = CGRectMake(0, 0, 28, 28);
        [imageV setImage:[UIImage imageNamed:@"search"] forState:UIControlStateNormal];
        [imageV addTarget:self action:@selector(searchClick:) forControlEvents:UIControlEventTouchUpInside];
admin's avatar
admin committed
1248 1249 1250 1251 1252
        imageV.contentMode = UIViewContentModeCenter;
        imageV.width += 10;
        _searchTextField.rightView = imageV;
        _searchTextField.rightViewMode = UITextFieldViewModeAlways;
        [self.bgImageView addSubview:_searchTextField];
admin's avatar
admin committed
1253
        
admin's avatar
admin committed
1254 1255
        NSLayoutConstraint *bgImageTop = [NSLayoutConstraint constraintWithItem:_searchTextField attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.bgImageView attribute:NSLayoutAttributeTop multiplier:1.0 constant:35];
        [self.bgImageView addConstraint:bgImageTop];
admin's avatar
admin committed
1256
        
admin's avatar
admin committed
1257 1258
        NSLayoutConstraint *bgImageRight = [NSLayoutConstraint constraintWithItem:_searchTextField attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.bgImageView attribute:NSLayoutAttributeRight multiplier:1.0 constant:-20];
        [self.bgImageView addConstraint:bgImageRight];
admin's avatar
admin committed
1259
        
admin's avatar
admin committed
1260 1261
        NSLayoutConstraint *bgImageHeight = [NSLayoutConstraint constraintWithItem:_searchTextField attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:28];
        [self.bgImageView addConstraint:bgImageHeight];
admin's avatar
admin committed
1262
        
admin's avatar
admin committed
1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277
        NSLayoutConstraint *bgImageWidth = [NSLayoutConstraint constraintWithItem:_searchTextField attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:100];
        [self.bgImageView addConstraint:bgImageWidth];
    }
    return _searchTextField;
}

- (UILabel *)nameLabel
{
    if (!_nameLabel) {
        _nameLabel = [[UILabel alloc] init];
        _nameLabel.translatesAutoresizingMaskIntoConstraints = NO;
        _nameLabel.font = [UIFont systemFontOfSize:13.0];
        _nameLabel.textAlignment = NSTextAlignmentRight;
        _nameLabel.textColor = [UIColor whiteColor];
        [self.bgImageView addSubview:_nameLabel];
admin's avatar
admin committed
1278
        
admin's avatar
admin committed
1279 1280
        NSLayoutConstraint *bgImageTop = [NSLayoutConstraint constraintWithItem:_nameLabel attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.searchTextField attribute:NSLayoutAttributeBottom multiplier:1.0 constant:3];
        [self.bgImageView addConstraint:bgImageTop];
admin's avatar
admin committed
1281
        
admin's avatar
admin committed
1282 1283 1284 1285 1286 1287
        NSLayoutConstraint *bgImageRight = [NSLayoutConstraint constraintWithItem:_nameLabel attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.bgImageView attribute:NSLayoutAttributeRight multiplier:1.0 constant:-20];
        [self.bgImageView addConstraint:bgImageRight];
        
        NSLayoutConstraint *bgImageBottom = [NSLayoutConstraint constraintWithItem:_nameLabel attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.bgImageView attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0];
        [self.bgImageView addConstraint:bgImageBottom];
        
admin's avatar
admin committed
1288
        NSLayoutConstraint *bgImageWidth = [NSLayoutConstraint constraintWithItem:_nameLabel attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:110];
admin's avatar
admin committed
1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302
        [self.bgImageView addConstraint:bgImageWidth];
    }
    return _nameLabel;
}

- (UILabel *)shopnameLabel
{
    if (!_shopnameLabel) {
        _shopnameLabel = [[UILabel alloc] init];
        _shopnameLabel.translatesAutoresizingMaskIntoConstraints = NO;
        _shopnameLabel.font = [UIFont systemFontOfSize:13.0];
        _shopnameLabel.textAlignment = NSTextAlignmentRight;
        _shopnameLabel.textColor = [UIColor whiteColor];
        [self.bgImageView addSubview:_shopnameLabel];
admin's avatar
admin committed
1303
        
admin's avatar
admin committed
1304 1305
        NSLayoutConstraint *bgImageTop = [NSLayoutConstraint constraintWithItem:_shopnameLabel attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.searchTextField attribute:NSLayoutAttributeBottom multiplier:1.0 constant:3];
        [self.bgImageView addConstraint:bgImageTop];
admin's avatar
admin committed
1306
        
admin's avatar
admin committed
1307 1308
        NSLayoutConstraint *bgImageRight = [NSLayoutConstraint constraintWithItem:_shopnameLabel attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.nameLabel attribute:NSLayoutAttributeLeft multiplier:1.0 constant:-10];
        [self.bgImageView addConstraint:bgImageRight];
admin's avatar
admin committed
1309
        
admin's avatar
admin committed
1310 1311
        NSLayoutConstraint *bgImageBottom = [NSLayoutConstraint constraintWithItem:_shopnameLabel attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.bgImageView attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0];
        [self.bgImageView addConstraint:bgImageBottom];
admin's avatar
admin committed
1312
        
admin's avatar
admin committed
1313 1314
        NSLayoutConstraint *bgImageLeft = [NSLayoutConstraint constraintWithItem:_shopnameLabel attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.bgImageView attribute:NSLayoutAttributeLeft multiplier:1.0 constant:20];
        [self.bgImageView addConstraint:bgImageLeft];
admin's avatar
admin committed
1315
    }
admin's avatar
admin committed
1316
    return _shopnameLabel;
admin's avatar
admin committed
1317 1318
}

admin's avatar
admin committed
1319

admin's avatar
admin committed
1320 1321 1322 1323 1324 1325 1326 1327 1328
- (UITableView *)tableView
{
    if (!_tableView) {
        _tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped];
        _tableView.translatesAutoresizingMaskIntoConstraints = NO;
        _tableView.delegate = self;
        _tableView.dataSource = self;
        _tableView.showsVerticalScrollIndicator = NO;
        _tableView.showsHorizontalScrollIndicator = NO;
1329 1330
        _tableView.rowHeight = UITableViewAutomaticDimension;
        _tableView.estimatedRowHeight = 300.0;
1331
        _tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, 40)];
admin's avatar
admin committed
1332 1333
        [_tableView registerClass:[PictureTableCell class] forCellReuseIdentifier:kHomePictureListCell];
        [_tableView registerClass:[HomeTitleTableCell class] forCellReuseIdentifier:kHomeTitleTableCell];
admin's avatar
admin committed
1334
        [_tableView registerClass:[RankingListCell class] forCellReuseIdentifier:kHomeRankingListCell];
admin's avatar
admin committed
1335
        [_tableView registerClass:[QuestionListTableCell class] forCellReuseIdentifier:kHomeQuestionListTableCell];
1336 1337
        [_tableView registerClass:[SpotCheckTableViewCell class] forCellReuseIdentifier:kHomeSpotCehcekCell];
        [_tableView registerClass:[LookOnLineTableViewCell class] forCellReuseIdentifier:kHomeLookOnLineCell];
admin's avatar
admin committed
1338

admin's avatar
admin committed
1339 1340
        [self.view addSubview:_tableView];
        
admin's avatar
admin committed
1341
        NSLayoutConstraint *tableTop = [NSLayoutConstraint constraintWithItem:_tableView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeTop multiplier:1.0 constant:95];
admin's avatar
admin committed
1342 1343 1344 1345 1346 1347 1348 1349
        [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];
        
1350
        NSLayoutConstraint *tableBottom = [NSLayoutConstraint constraintWithItem:_tableView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0];
admin's avatar
admin committed
1351 1352 1353 1354 1355
        [self.view addConstraint:tableBottom];
    }
    return _tableView;
}

admin's avatar
admin committed
1356

admin's avatar
admin committed
1357 1358
- (void)searchClick:(UIButton *)sender
{
admin's avatar
admin committed
1359
    if (![_searchTextField.text isEqualToString:@""]) {
admin's avatar
admin committed
1360 1361
        SearchViewController *searchVC = [[SearchViewController alloc] init];
        searchVC.customStr = _searchTextField.text;
admin's avatar
admin committed
1362
        self.hidesBottomBarWhenPushed = YES;
admin's avatar
admin committed
1363 1364 1365 1366 1367
        [self.navigationController pushViewController:searchVC animated:YES];
    } else {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"请输入关键字!" delegate:self cancelButtonTitle:nil otherButtonTitles:@"确定", nil];
        [alert show];
    }
admin's avatar
admin committed
1368
    [_searchTextField resignFirstResponder];
admin's avatar
admin committed
1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
    [self.view endEditing:YES];
}

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    if ([textField resignFirstResponder]) {
        return YES;
    }
    return NO;
}

1383 1384 1385 1386 1387
- (void)clickHeadView
{
    [_tableView reloadData];
}

admin's avatar
admin committed
1388 1389 1390 1391 1392
-(void)dealloc
{
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}

admin's avatar
admin committed
1393
@end