1313#import " Coding_NetAPIManager.h"
1414#import " FunctionTipsManager.h"
1515#import " ODRefreshControl.h"
16+ #import " TaskResourceReferenceViewController.h"
1617
1718#import " MRPRTopCell.h"
1819#import " MRPRDetailCell.h"
@@ -44,6 +45,8 @@ @interface PRDetailViewController ()<UITableViewDataSource, UITableViewDelegate,
4445@property (strong , nonatomic ) UITableView *myTableView;
4546@property (nonatomic , strong ) ODRefreshControl *myRefreshControl;
4647@property (strong , nonatomic ) UIView *bottomView;
48+ @property (strong , nonatomic ) NSString *referencePath;
49+ @property (strong , nonatomic ) ResourceReference *resourceReference;
4750@end
4851
4952@implementation PRDetailViewController
@@ -65,7 +68,8 @@ + (PRDetailViewController *)vcWithPath:(NSString *)path{
6568- (void )viewDidLoad {
6669 [super viewDidLoad ];
6770 self.title = [NSString stringWithFormat: @" %@ #%@ " , _curMRPR.des_project_name, _curMRPR.iid.stringValue];
68-
71+ self.referencePath = [NSString stringWithFormat: @" /api/user/%@ /project/%@ /resource_reference/%@ " , _curMRPR.des_owner_name, _curMRPR.des_project_name,self .curMRPR.iid];
72+ __weak typeof (self) weakSelf = self;
6973 _myTableView = ({
7074 UITableView *tableView = [[UITableView alloc ] initWithFrame: self .view.bounds style: UITableViewStyleGrouped];
7175 tableView.backgroundColor = kColorTableSectionBg ;
@@ -186,6 +190,16 @@ - (void)refresh{
186190 }];
187191 }];
188192
193+ [[CodingNetAPIClient sharedJsonClient ] requestJsonDataWithPath: self .referencePath withParams: @{@" iid" : _curMRPR.iid } withMethodType: Get andBlock: ^(id data, NSError *error) {
194+ if (data) {
195+ weakSelf.resourceReference = [NSObject objectOfClass: @" ResourceReference" fromJSON: data[@" data" ]];
196+ [weakSelf.myTableView reloadData ];
197+ }
198+ [weakSelf.view configBlankPage: EaseBlankPageTypeView hasData: (_curMRPRInfo != nil ) hasError: (error != nil ) reloadButtonBlock: ^(id sender) {
199+ [weakSelf refresh ];
200+ }];
201+ }];
202+
189203 // 推送过来的页面,可能 curProject 对象为空
190204 if (!_curProject) {
191205 _curProject = [Project new ];
@@ -353,6 +367,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N
353367 }
354368 } else {
355369 [cell setImageStr: @" taskResourceReference" andTitle: @" 资源关联" ];
370+ [cell setrightText: [NSString stringWithFormat: @" %lu 个关联资源" , (unsigned long )self .resourceReference.itemList.count]];
356371 }
357372 [tableView addLineforPlainCell: cell forRowAtIndexPath: indexPath withLeftSpace: 50 ];
358373 return cell;
@@ -376,7 +391,14 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N
376391 return cell;
377392 }else {
378393 PRReviewerListCell *cell = [tableView dequeueReusableCellWithIdentifier: kCellIdentifier_PRReviewerListCell forIndexPath: indexPath];
379- [cell setImageStr: self .curReviewersInfo.reviewers];
394+ NSMutableArray *tmpReviewers = [[NSMutableArray alloc ] init ];
395+ for (int i = 0 ; i < self.curReviewersInfo .reviewers .count ; i ++) {
396+ [tmpReviewers addObject: self .curReviewersInfo.reviewers[i]];
397+ }
398+ for (int i = 0 ; i < self.curReviewersInfo .volunteer_reviewers .count ; i ++) {
399+ [tmpReviewers addObject: self .curReviewersInfo.volunteer_reviewers[i]];
400+ }
401+ [cell initCellWithReviewers: tmpReviewers];
380402 if ([[FunctionTipsManager shareManager ] needToTip: kFunctionTipStr_LineNote_FileChange ]) {
381403 [cell addTipHeadIcon: @" PointLikeHead" ];
382404 }
@@ -456,7 +478,7 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath
456478 vc.curMRPR = _curMRPR;
457479 vc.curProject = _curProject;
458480 [self .navigationController pushViewController: vc animated: YES ];
459- }else {
481+ }else if (indexPath. row == 1 ) {
460482 MRPRFilesViewController *vc = [MRPRFilesViewController new ];
461483 vc.curMRPR = _curMRPR;
462484 vc.curMRPRInfo = _curMRPRInfo;
@@ -468,15 +490,22 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath
468490 NProjectItemCell *cell = (NProjectItemCell *)[tableView cellForRowAtIndexPath: indexPath];
469491 [cell removeTip ];
470492 }
493+ } else {
494+ TaskResourceReferenceViewController *vc = [TaskResourceReferenceViewController new ];
495+ vc.resourceReference = self.resourceReference ;
496+ vc.resourceReferencePath = self.referencePath ;
497+ [self .navigationController pushViewController: vc animated: YES ];
471498 }
472499 }else if (indexPath.section == 2 ){// Disclosure
473500 if (indexPath.row == 0 ) {
501+ if (![self CurrentUserIsOwer ]) return ;
474502 NSArray *apparray= [[NSBundle mainBundle ]loadNibNamed:@" ReviewerListController" owner: nil options: nil ];
475503 ReviewerListController *appview=[apparray firstObject ];
476504 appview.reviewers = self.curReviewersInfo .reviewers ;
505+ appview.volunteer_reviewers = self.curReviewersInfo .volunteer_reviewers ;
477506
478507 [self .navigationController pushViewController: appview animated: YES ];
479- }else {
508+ }else {
480509 MRPRFilesViewController *vc = [MRPRFilesViewController new ];
481510 vc.curMRPR = _curMRPR;
482511 vc.curMRPRInfo = _curMRPRInfo;
0 commit comments