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 176 177 178 179 180 181 182 183 184 185 186
    if ([permissions containsObject:@"500701"] || [permissions containsObject:@"500702"]) {
        [self.titleArray addObject:@"在线抽查"];
        
        if ([permissions containsObject:@"500701"]) {
            [self requestLookOnLineList];
        } else if ([permissions containsObject:@"500702"]){
            [self requestSpotCheckList];
        }
        
    } else {
        [_sectionArray removeObject:@"在线抽查"];
    }
admin's avatar
admin committed
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.mj_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
        [self.tableView reloadData];
        [MBProgressHUD hideHUDForView:self.view animated:YES];
admin's avatar
admin committed
267
        [self.tableView.mj_header endRefreshing];
admin's avatar
admin committed
268 269 270 271 272 273 274 275

    }];

}

// 刷新口碑任务
- (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
        [self.tableView reloadData];
        [MBProgressHUD hideHUDForView:self.view animated:YES];
admin's avatar
admin committed
298
        [self.tableView.mj_header endRefreshing];
admin's avatar
admin committed
299 300 301
    }];

}
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
        [self.tableView.mj_header endRefreshing];
admin's avatar
admin committed
327

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];
admin's avatar
admin committed
358
        [self.tableView.mj_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
- (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];
admin's avatar
admin committed
386
        [self.tableView.mj_header endRefreshing];
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
        [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];
        
admin's avatar
admin committed
416
        [self.tableView.mj_header endRefreshing];
417
        [MBProgressHUD hideHUDForView:self.view animated:YES];
418 419 420 421 422 423 424
        [self.tableView reloadData];
        
    }];
}



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

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

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

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

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

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


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

    NSDictionary *parameters = @{
                                 @"userUuid":[[NSUserDefaults standardUserDefaults] objectForKey:@"user_uuid"],
admin's avatar
admin committed
488
                                 @"queryOrders":@[@{@"field":@"lastModifyInfo", @"direction":@"desc"}],
admin's avatar
admin committed
489 490 491 492 493 494 495
                                 @"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
496
        NSMutableArray *tempArray = [NSMutableArray array];
admin's avatar
admin committed
497 498 499
        for (NSDictionary *dict in dataArray) {
            TaskListModel *taskList = [[TaskListModel alloc] init];
            [taskList setValuesForKeysWithDictionary:dict];
admin's avatar
admin committed
500
            [tempArray addObject:taskList];
admin's avatar
admin committed
501
        }
admin's avatar
admin committed
502 503
        _taskListDataArray = [NSMutableArray arrayWithArray:tempArray];
        
admin's avatar
admin committed
504 505
        if (_taskListDataArray.count == 0) {
            [_sectionArray removeObject:@"口碑巡检"];
admin's avatar
admin committed
506
        }
admin's avatar
admin committed
507 508 509 510 511 512 513
        [self.tableView reloadData];
        [MBProgressHUD hideHUDForView:self.view animated:YES];

    }];

}

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

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

550
- (void)requestPicturePraiseWithType:(NSString *)type
admin's avatar
admin committed
551 552 553 554 555 556 557 558
{
    
    // 请求地址
    NSString *urlStr = [NSString stringWithFormat:@"%@%@", kRedStarURL, kQueryPicturePraiseURL];
    NSString *user_uuid = [[NSUserDefaults standardUserDefaults] objectForKey:@"user_uuid"];
    NSDictionary *parameters = @{
                                 @"scope":@"all",
                                 @"user":user_uuid,
559
                                 @"type":type,
admin's avatar
admin committed
560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577
                                 @"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];
        }
578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593
        
        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
594
        }
595
        
admin's avatar
admin committed
596
        [self.tableView reloadData];
597
        [MBProgressHUD hideAllHUDsForView:self.view animated:YES];
admin's avatar
admin committed
598 599 600 601
    }];
    
}

602 603 604 605 606 607 608 609 610 611 612 613
- (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
614

615 616 617 618 619 620 621 622 623 624 625 626 627
        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
628 629 630 631
        } else {
            if (![_sectionArray containsObject:@"在线抽查"]) {
                [_sectionArray addObject:@"在线抽查"];
            }
632 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
        }
        [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
662 663 664 665 666 667
            [_sectionArray removeObject:@"在线抽查"];
        } else {
            if (![_sectionArray containsObject:@"在线抽查"]) {
                [_sectionArray addObject:@"在线抽查"];
            }

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


676

admin's avatar
admin committed
677
#pragma mark - Private Methods
admin's avatar
admin committed
678 679 680 681 682 683 684
- (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
685
    _nameLabel.text = [NSString stringWithFormat:@"%@,你好!", [[NSUserDefaults standardUserDefaults] objectForKey:@"user_name"]];
admin's avatar
admin committed
686
    self.shopnameLabel.backgroundColor = [UIColor clearColor];
admin's avatar
admin committed
687
    _shopnameLabel.text = [NSString stringWithFormat:@"%@", [[NSUserDefaults standardUserDefaults] objectForKey:@"org_name"]];
admin's avatar
admin committed
688 689 690

}

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

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

admin's avatar
admin committed
721 722
}

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

admin's avatar
admin committed
728
    NSInteger section = sender.tag - 332892;
729
    UINavigationController *nav;
admin's avatar
admin committed
730
    if ([_sectionArray[section] isEqualToString:@"在线抽查"]) {
admin's avatar
admin committed
731 732 733 734 735 736 737 738
        
        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
739
    } else if ([_sectionArray[section] isEqualToString:@"口碑巡检"]) {
admin's avatar
admin committed
740 741
        InspectListViewController *inspectListVC = [[InspectListViewController alloc] init];
        nav = [[UINavigationController alloc] initWithRootViewController:inspectListVC];
admin's avatar
admin committed
742 743 744 745 746 747 748
    } 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:@"问题知识"]) {
749 750
        QuestionViewController *questionVC = [[QuestionViewController alloc] init];
        nav = [[UINavigationController alloc] initWithRootViewController:questionVC];
admin's avatar
admin committed
751 752 753 754 755 756
    } 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
757
        pic.titleStr = @"商场风采";
admin's avatar
admin committed
758 759
        pic.category = @"store";
        nav = [[UINavigationController alloc] initWithRootViewController:pic];
760 761 762 763 764 765 766 767 768 769 770 771
    } 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];
772 773 774 775 776
    }
    
    [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
777
    
admin's avatar
admin committed
778 779
}

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

    
admin's avatar
admin committed
785 786 787
    HomeCellItem *item = (HomeCellItem *)sender;
    UINavigationController *nav;
    if ([item.titleLabel.text isEqualToString:@"在线抽查"]) {
admin's avatar
admin committed
788 789 790 791 792 793 794 795 796
        
        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
797
    } else if ([item.titleLabel.text isEqualToString:@"口碑巡检"]) {
admin's avatar
admin committed
798 799 800
        InspectListViewController *inspectListVC = [[InspectListViewController alloc] init];
        nav = [[UINavigationController alloc] initWithRootViewController:inspectListVC];
    } else if ([item.titleLabel.text isEqualToString:@"口碑标准"]) {
admin's avatar
admin committed
801 802
        StandardViewController *standardVC = [[StandardViewController alloc] init];
        nav = [[UINavigationController alloc] initWithRootViewController:standardVC];
admin's avatar
admin committed
803
    } else if ([item.titleLabel.text isEqualToString:@"图说口碑"]) {
admin's avatar
admin committed
804
        PicCategoryViewController *pictureVC = [[PicCategoryViewController alloc] init];
admin's avatar
admin committed
805
        nav = [[UINavigationController alloc] initWithRootViewController:pictureVC];
admin's avatar
admin committed
806
    } else if ([item.titleLabel.text isEqualToString:@"问题知识"]) {
admin's avatar
admin committed
807 808
        QuestionViewController *questionVC = [[QuestionViewController alloc] init];
        nav = [[UINavigationController alloc] initWithRootViewController:questionVC];
admin's avatar
admin committed
809
    } else if ([item.titleLabel.text isEqualToString:@"口碑报告"]){
admin's avatar
admin committed
810 811
        RankingListViewController *rankingListVC = [[RankingListViewController alloc] init];
        nav = [[UINavigationController alloc] initWithRootViewController:rankingListVC];
admin's avatar
admin committed
812 813 814 815
    } else if ([item.titleLabel.text isEqualToString:@"商场风采"]) {
        PictureViewController *pic = [[PictureViewController alloc] init];
        pic.come = @"首页";
        pic.category = @"store";
admin's avatar
admin committed
816
        pic.titleStr = @"商场风采";
admin's avatar
admin committed
817
        nav = [[UINavigationController alloc] initWithRootViewController:pic];
admin's avatar
admin committed
818
    }
admin's avatar
admin committed
819
    
admin's avatar
admin committed
820 821 822
    [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
823 824 825 826 827 828 829 830
}




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


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

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

admin's avatar
admin committed
874

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

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

admin's avatar
admin committed
891
    if ([_sectionArray[indexPath.section] isEqualToString:@"口碑巡检"] && indexPath.section == s1) {
admin's avatar
admin committed
892 893 894
        InspectListCell *cell=[tableView dequeueReusableCellWithIdentifier:kHomeInspectListCell];
        if (!cell) {
            cell = [[InspectListCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:kHomeInspectListCell];
admin's avatar
admin committed
895
        }
admin's avatar
admin committed
896 897 898 899 900 901 902 903
        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
904
    } else if ([_sectionArray[indexPath.section] isEqualToString:@"口碑报告"] && indexPath.section == s2) {
admin's avatar
admin committed
905 906
        if (indexPath.row == 0) {
            HomeTitleTableCell *cell=[tableView dequeueReusableCellWithIdentifier:kHomeTitleTableCell];
admin's avatar
admin committed
907
            if (!cell) {
admin's avatar
admin committed
908
                cell = [[HomeTitleTableCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:kHomeTitleTableCell];
admin's avatar
admin committed
909 910 911 912
            }
            cell.selectionStyle = UITableViewCellSelectionStyleNone;
            return cell;
        } else {
admin's avatar
admin committed
913
            RankingListCell *cell = [tableView dequeueReusableCellWithIdentifier:kHomeRankingListCell];
admin's avatar
admin committed
914
            if (!cell) {
admin's avatar
admin committed
915
                cell = [[RankingListCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:kHomeRankingListCell];
admin's avatar
admin committed
916
            }
admin's avatar
admin committed
917 918 919 920 921 922 923 924 925
            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;
                }
            }
926 927
            RankListModel *rankList = _allRankListArray[indexPath.row - 1];
            cell.rankList = rankList;
admin's avatar
admin committed
928
            cell.gradeImageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"medal_0%d", rankList.index]];
admin's avatar
admin committed
929 930
            cell.selectionStyle = UITableViewCellSelectionStyleNone;
            return cell;
admin's avatar
admin committed
931
        }
admin's avatar
admin committed
932
    } else if ([_sectionArray[indexPath.section] isEqualToString:@"问题知识"] && indexPath.section == s3) {
admin's avatar
admin committed
933 934 935 936 937 938 939 940 941
        // 问题与知识
        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
942 943 944 945 946 947 948
    } 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;
949 950 951 952 953 954 955 956 957 958 959 960 961 962
    } 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;
963 964
    } else if ([_sectionArray[indexPath.section] isEqualToString:@"在线抽查"] && indexPath.section == s7) {
        
admin's avatar
admin committed
965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982
        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;
983 984
        }
    }  else {
admin's avatar
admin committed
985
        return nil;
admin's avatar
admin committed
986
    }
admin's avatar
admin committed
987 988 989 990 991
}

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

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


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

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

// 自定义section
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
admin's avatar
admin committed
1106
    
1107 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
        // 创建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
1134

admin's avatar
admin committed
1135
        titleLabel.text = _sectionArray[section];
admin's avatar
admin committed
1136

admin's avatar
admin committed
1137
    
1138 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
        [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
1169
    
1170 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
        
        
        // 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
1201

admin's avatar
admin committed
1202

admin's avatar
admin committed
1203 1204 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

#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
1240
        _searchTextField.delegate = self;
admin's avatar
admin committed
1241
        [_searchTextField setValue:[UIColor whiteColor] forKeyPath:@"_placeholderLabel.textColor"];
admin's avatar
admin committed
1242 1243 1244 1245
        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
1246 1247 1248 1249 1250
        imageV.contentMode = UIViewContentModeCenter;
        imageV.width += 10;
        _searchTextField.rightView = imageV;
        _searchTextField.rightViewMode = UITextFieldViewModeAlways;
        [self.bgImageView addSubview:_searchTextField];
admin's avatar
admin committed
1251
        
admin's avatar
admin committed
1252 1253
        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
1254
        
admin's avatar
admin committed
1255 1256
        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
1257
        
admin's avatar
admin committed
1258 1259
        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
1260
        
admin's avatar
admin committed
1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275
        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
1276
        
admin's avatar
admin committed
1277 1278
        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
1279
        
admin's avatar
admin committed
1280 1281 1282 1283 1284 1285
        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
1286
        NSLayoutConstraint *bgImageWidth = [NSLayoutConstraint constraintWithItem:_nameLabel attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:110];
admin's avatar
admin committed
1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300
        [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
1301
        
admin's avatar
admin committed
1302 1303
        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
1304
        
admin's avatar
admin committed
1305 1306
        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
1307
        
admin's avatar
admin committed
1308 1309
        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
1310
        
admin's avatar
admin committed
1311 1312
        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
1313
    }
admin's avatar
admin committed
1314
    return _shopnameLabel;
admin's avatar
admin committed
1315 1316
}

admin's avatar
admin committed
1317

admin's avatar
admin committed
1318 1319 1320 1321 1322 1323 1324 1325 1326
- (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;
1327 1328
        _tableView.rowHeight = UITableViewAutomaticDimension;
        _tableView.estimatedRowHeight = 300.0;
1329
        _tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, 40)];
admin's avatar
admin committed
1330 1331
        [_tableView registerClass:[PictureTableCell class] forCellReuseIdentifier:kHomePictureListCell];
        [_tableView registerClass:[HomeTitleTableCell class] forCellReuseIdentifier:kHomeTitleTableCell];
admin's avatar
admin committed
1332
        [_tableView registerClass:[RankingListCell class] forCellReuseIdentifier:kHomeRankingListCell];
admin's avatar
admin committed
1333
        [_tableView registerClass:[QuestionListTableCell class] forCellReuseIdentifier:kHomeQuestionListTableCell];
1334 1335
        [_tableView registerClass:[SpotCheckTableViewCell class] forCellReuseIdentifier:kHomeSpotCehcekCell];
        [_tableView registerClass:[LookOnLineTableViewCell class] forCellReuseIdentifier:kHomeLookOnLineCell];
admin's avatar
admin committed
1336

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

admin's avatar
admin committed
1354

admin's avatar
admin committed
1355 1356
- (void)searchClick:(UIButton *)sender
{
admin's avatar
admin committed
1357
    if (![_searchTextField.text isEqualToString:@""]) {
admin's avatar
admin committed
1358 1359
        SearchViewController *searchVC = [[SearchViewController alloc] init];
        searchVC.customStr = _searchTextField.text;
admin's avatar
admin committed
1360
        self.hidesBottomBarWhenPushed = YES;
admin's avatar
admin committed
1361 1362 1363 1364 1365
        [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
1366
    [_searchTextField resignFirstResponder];
admin's avatar
admin committed
1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380
}

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

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

1381 1382 1383 1384 1385
- (void)clickHeadView
{
    [_tableView reloadData];
}

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

admin's avatar
admin committed
1391
@end