Skip to content

Commit fc14c87

Browse files
committed
修改了关联资源功能
1 parent 3b84be2 commit fc14c87

14 files changed

Lines changed: 95 additions & 19 deletions

Coding_iOS/Controllers/EditTaskViewController.m

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -528,7 +528,8 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath
528528
}
529529
}else if (indexPath.section == 2 && _myTask.resourceReference.itemList.count > 0){
530530
TaskResourceReferenceViewController *vc = [TaskResourceReferenceViewController new];
531-
vc.curTask = _myTask;
531+
vc.resourceReference = _myTask.resourceReference;
532+
vc.resourceReferencePath = [self.myTask backend_project_path];
532533
[self.navigationController pushViewController:vc animated:YES];
533534
}else {
534535
ProjectActivity *curActivity = [self.myCopyTask.activityList objectAtIndex:indexPath.row];

Coding_iOS/Controllers/PRDetailViewController.m

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
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;

Coding_iOS/Controllers/ReviewCell.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
userState:(NSString *)userState;
2626

2727
- (void)initCellWithReviewer:(Reviewer*)reviewer;
28+
- (void)initCellWithVolunteerReviewers:(Reviewer*)reviewer;
2829

2930
+ (CGFloat)cellHeight;
3031
@end

Coding_iOS/Controllers/ReviewCell.m

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,17 +46,27 @@ - (void)configureCellWithHeadIconURL:(NSString *)headIconURL
4646
- (void)initCellWithReviewer:(Reviewer*)reviewer {
4747
[self.headIcon sd_setImageWithURL:[reviewer.reviewer.avatar urlImageWithCodePathResizeToView:self.headIcon] placeholderImage:kPlaceholderMonkeyRoundView(self.headIcon)];
4848
[self.headIcon doCircleFrame];
49+
self.reviewIcon.image = [UIImage imageNamed:@"PointLikeHead"];
4950
self.userName.text = reviewer.reviewer.name;
5051
if([reviewer.value isEqual:@100]) {
51-
self.reviewIcon.image = [UIImage imageNamed:@"PointLikeHead"];
5252
self.userState.text = @"+1";
5353
} else {
54-
[self.reviewIcon setHidden:YES];
5554
self.userState.text = @"未评审";
5655
}
5756

5857
}
5958

59+
- (void)initCellWithVolunteerReviewers:(Reviewer*)reviewer {
60+
[self.headIcon sd_setImageWithURL:[reviewer.reviewer.avatar urlImageWithCodePathResizeToView:self.headIcon] placeholderImage:kPlaceholderMonkeyRoundView(self.headIcon)];
61+
[self.headIcon doCircleFrame];
62+
[self.reviewIcon setHidden:YES];
63+
self.userName.text = reviewer.reviewer.name;
64+
if([reviewer.value isEqual:@100]) {
65+
self.userState.text = @"+1";
66+
}
67+
68+
}
69+
6070
+ (CGFloat)cellHeight{
6171
return 44.0;
6272
}

Coding_iOS/Controllers/ReviewerListController.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,6 @@ typedef void(^ReviewerListControllerBlock)(Project *project);
1414
@interface ReviewerListController : UIViewController<UITableViewDataSource, UITableViewDelegate>
1515

1616
@property (readwrite, nonatomic, strong) NSMutableArray *reviewers;
17+
@property (readwrite, nonatomic, strong) NSMutableArray *volunteer_reviewers;
1718

1819
@end

Coding_iOS/Controllers/ReviewerListController.m

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@ @implementation ReviewerListController
3131
-(void)viewDidLoad {
3232
self.title = @"评审人";
3333
[self.myTableView registerNib:[UINib nibWithNibName:kCellIdentifier_ReviewCell bundle:nil] forCellReuseIdentifier:kCellIdentifier_ReviewCell];
34+
self.myTableView.separatorStyle = NO;
35+
UIBarButtonItem *temporaryBarButtonItem = [[UIBarButtonItem alloc] init];
36+
temporaryBarButtonItem.title = @"确定";
37+
self.navigationItem.rightBarButtonItem = temporaryBarButtonItem;
3438
/*_mySearchBar = ({
3539
UISearchBar *searchBar = [[UISearchBar alloc] init];
3640
searchBar.delegate = self;
@@ -66,14 +70,18 @@ - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
6670
}
6771

6872
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
69-
return [self.reviewers count];
73+
return [self.reviewers count] + [self.volunteer_reviewers count];
7074
}
7175

7276
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
7377
ReviewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier_ReviewCell forIndexPath:indexPath];
7478

7579
// [cell configureCellWithHeadIconURL:@"test" reviewIconURL:@"PointLikeHead" userName:@"test" userState:@"test"];
76-
[cell initCellWithReviewer:self.reviewers[indexPath.row]];
80+
if(indexPath.row < self.reviewers.count) {
81+
[cell initCellWithReviewer:self.reviewers[indexPath.row]];
82+
} else {
83+
[cell initCellWithVolunteerReviewers:self.volunteer_reviewers[indexPath.row - self.reviewers.count]];
84+
}
7785
[tableView addLineforPlainCell:cell forRowAtIndexPath:indexPath withLeftSpace:50];
7886
return cell;
7987

Coding_iOS/Controllers/TaskResourceReferenceViewController.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,6 @@
1010
#import "Task.h"
1111

1212
@interface TaskResourceReferenceViewController : BaseViewController
13-
@property (strong, nonatomic) Task *curTask;
13+
@property (strong, nonatomic) NSString *resourceReferencePath;
14+
@property (strong, nonatomic) ResourceReference *resourceReference;
1415
@end

Coding_iOS/Controllers/TaskResourceReferenceViewController.m

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,19 +40,19 @@ - (void)viewDidLoad {
4040

4141
#pragma mark Table M
4242
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
43-
return _curTask.resourceReference.itemList.count;
43+
return self.resourceReference.itemList.count;
4444
}
4545

4646
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
4747
TaskResourceReferenceCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier_TaskResourceReferenceCell forIndexPath:indexPath];
48-
cell.item = _curTask.resourceReference.itemList[indexPath.row];
48+
cell.item = self.resourceReference.itemList[indexPath.row];
4949
[tableView addLineforPlainCell:cell forRowAtIndexPath:indexPath withLeftSpace:45];
5050
return cell;
5151
}
5252

5353
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
5454
[tableView deselectRowAtIndexPath:indexPath animated:YES];
55-
ResourceReferenceItem *item = _curTask.resourceReference.itemList[indexPath.row];
55+
ResourceReferenceItem *item = self.resourceReference.itemList[indexPath.row];
5656
[self goToItem:item];
5757
}
5858

@@ -63,7 +63,7 @@ - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)
6363

6464
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{
6565
if (editingStyle == UITableViewCellEditingStyleDelete) {
66-
ResourceReferenceItem *item = _curTask.resourceReference.itemList[indexPath.row];
66+
ResourceReferenceItem *item = self.resourceReference.itemList[indexPath.row];
6767

6868
__weak typeof(self) weakSelf = self;
6969
UIActionSheet *actionSheet = [UIActionSheet bk_actionSheetCustomWithTitle:[NSString stringWithFormat:@"确定取消关联:%@", item.title] buttonTitles:nil destructiveTitle:@"确定" cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) {
@@ -78,9 +78,10 @@ - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEd
7878
#pragma mark - Actiom
7979
- (void)deleteItem:(ResourceReferenceItem *)item{
8080
__weak typeof(self) weakSelf = self;
81-
[[Coding_NetAPIManager sharedManager] request_DeleteResourceReference:item.code ofTask:_curTask andBlock:^(id data, NSError *error) {
81+
82+
[[Coding_NetAPIManager sharedManager] request_DeleteResourceReference:item.code ResourceReferencePath:self.resourceReferencePath andBlock:^(id data, NSError *error) {
8283
if (data) {
83-
[weakSelf.curTask.resourceReference.itemList removeObject:item];
84+
[weakSelf.resourceReference.itemList removeObject:item];
8485
[weakSelf.myTableView reloadData];
8586
}
8687
}];

Coding_iOS/Util/Manager/Coding_NetAPIManager.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ typedef NS_ENUM(NSInteger, PurposeType) {
151151
- (void)request_TaskDetail:(Task *)task andBlock:(void (^)(id data, NSError *error))block;
152152
- (void)request_TaskResourceReference:(Task *)task andBlock:(void (^)(id data, NSError *error))block;
153153
- (void)request_DeleteResourceReference:(NSNumber *)iid ofTask:(Task *)task andBlock:(void (^)(id data, NSError *error))block;
154+
- (void)request_DeleteResourceReference:(NSNumber *)iid ResourceReferencePath:(NSString *)ResourceReferencePath andBlock:(void (^)(id data, NSError *error))block;
154155
- (void)request_ActivityListOfTask:(Task *)task andBlock:(void (^)(id data, NSError *error))block;
155156
- (void)request_DoCommentToTask:(Task *)task andBlock:(void (^)(id data, NSError *error))block;
156157
- (void)request_DeleteComment:(TaskComment *)comment ofTask:(Task *)task andBlock:(void (^)(id data, NSError *error))block;

Coding_iOS/Util/Manager/Coding_NetAPIManager.m

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1396,6 +1396,16 @@ - (void)request_DeleteResourceReference:(NSNumber *)iid ofTask:(Task *)task andB
13961396
block(data, error);
13971397
}];
13981398
}
1399+
1400+
- (void)request_DeleteResourceReference:(NSNumber *)iid ResourceReferencePath:(NSString *)ResourceReferencePath andBlock:(void (^)(id data, NSError *error))block{
1401+
[[CodingNetAPIClient sharedJsonClient] requestJsonDataWithPath:ResourceReferencePath withParams:@{@"iid": iid} withMethodType:Delete andBlock:^(id data, NSError *error) {
1402+
if (data) {
1403+
[MobClick event:kUmeng_Event_Request_Get label:@"任务_关联资源_删除"];
1404+
}
1405+
block(data, error);
1406+
}];
1407+
}
1408+
13991409
- (void)request_ActivityListOfTask:(Task *)task andBlock:(void (^)(id data, NSError *error))block{
14001410
[[CodingNetAPIClient sharedJsonClient] requestJsonDataWithPath:[task toActivityListPath] withParams:nil withMethodType:Get andBlock:^(id data, NSError *error) {
14011411
if (data) {

0 commit comments

Comments
 (0)