Skip to content

Commit 463ae5b

Browse files
committed
任务整理(任务描述保存即请求)
1 parent 923498e commit 463ae5b

8 files changed

Lines changed: 55 additions & 125 deletions

File tree

Coding_iOS/Controllers/EditTaskViewController.m

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -480,13 +480,11 @@ - (void)goToDescriptionVC{
480480
ESWeakSelf;
481481
TaskDescriptionViewController *vc = [[TaskDescriptionViewController alloc] init];
482482
vc.curTask = _myCopyTask;
483-
vc.markdown = _myCopyTask.task_description.markdown;
484483

485-
vc.savedNewMDBlock = ^(NSString *mdStr, NSString *mdHtmlStr){
484+
vc.savedNewTDBlock = ^(Task_Description *taskD){
486485
ESStrongSelf;
487-
_self.myCopyTask.has_description = [NSNumber numberWithBool:(mdStr.length > 0)];
488-
_self.myCopyTask.task_description.markdown = mdStr;
489-
_self.myCopyTask.task_description.description_mine = mdHtmlStr;
486+
_self.myTask.has_description = _self.myCopyTask.has_description = [NSNumber numberWithBool:taskD.markdown.length > 0];
487+
_self.myTask.task_description = _self.myCopyTask.task_description = taskD;
490488
[_self.myTableView reloadData];
491489
};
492490
[self.navigationController pushViewController:vc animated:YES];

Coding_iOS/Controllers/TaskDescriptionViewController.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@
1010
#import "Tasks.h"
1111

1212
@interface TaskDescriptionViewController : BaseViewController
13-
@property (strong, nonatomic) NSString *markdown;
1413
@property (strong, nonatomic) Task *curTask;
15-
@property (copy, nonatomic) void(^savedNewMDBlock)(NSString *mdStr, NSString *mdHtmlStr);
14+
@property (copy, nonatomic) void(^savedNewTDBlock)(Task_Description *taskD);
1615

1716
@end

Coding_iOS/Controllers/TaskDescriptionViewController.m

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,7 @@ - (void)viewDidLoad {
5959
}
6060
}];
6161

62-
_markdown = _markdown? _markdown : @"";
63-
self.curIndex = (_markdown.length > 0)? 1: 0;
62+
self.curIndex = (_curTask.task_description.markdown.length > 0)? 1: 0;
6463
}
6564

6665
- (void)viewDidAppear:(BOOL)animated{
@@ -111,7 +110,7 @@ - (void)loadEditView{
111110
_editView.textContainerInset = UIEdgeInsetsMake(15, kPaddingLeftWidth - 5, 8, kPaddingLeftWidth - 5);
112111
_editView.placeholder = @"任务描述";
113112

114-
_editView.text = _markdown;
113+
_editView.text = _curTask.task_description.markdown;
115114
[self.view addSubview:_editView];
116115
[_editView mas_makeConstraints:^(MASConstraintMaker *make) {
117116
make.edges.equalTo(self.view);
@@ -120,7 +119,7 @@ - (void)loadEditView{
120119
@weakify(self);
121120
[_editView.rac_textSignal subscribeNext:^(NSString *mdStr) {
122121
@strongify(self);
123-
self.navigationItem.rightBarButtonItem.enabled = ![mdStr isEqualToString:self.markdown];
122+
self.navigationItem.rightBarButtonItem.enabled = ![mdStr isEqualToString:self.curTask.task_description.markdown];
124123
}];
125124
}
126125
_editView.hidden = NO;
@@ -156,7 +155,7 @@ - (void)loadPreview{
156155
}
157156

158157
- (void)previewLoadMDData{
159-
NSString *mdStr = self.editView? self.editView.text : _markdown;
158+
NSString *mdStr = self.editView? self.editView.text : _curTask.task_description.markdown;
160159
[_activityIndicator startAnimating];
161160

162161
@weakify(self);
@@ -172,16 +171,25 @@ - (void)previewLoadMDData{
172171

173172
- (void)saveBtnClicked{
174173
NSString *mdStr = self.editView.text;
175-
@weakify(self);
176-
[[Coding_NetAPIManager sharedManager] request_MDHtmlStr_WithMDStr:mdStr andBlock:^(id data, NSError *error) {
177-
@strongify(self);
178-
if (data) {
179-
if (self.savedNewMDBlock) {
180-
self.savedNewMDBlock(self.editView.text, data);
174+
175+
if (_curTask.handleType == TaskHandleTypeEdit) {//编辑任务
176+
@weakify(self);
177+
[[Coding_NetAPIManager sharedManager] request_EditTask:_curTask withDescriptionStr:mdStr andBlock:^(id data, NSError *error) {
178+
@strongify(self);
179+
if (data) {
180+
if (self.savedNewTDBlock) {
181+
self.savedNewTDBlock(data);
182+
}
183+
[self.navigationController popViewControllerAnimated:YES];
181184
}
182-
[self.navigationController popViewControllerAnimated:YES];
185+
}];
186+
}else{//添加任务
187+
if (self.savedNewTDBlock) {
188+
Task_Description *taskD = [Task_Description descriptionWithMdStr:mdStr];
189+
self.savedNewTDBlock(taskD);
183190
}
184-
}];
191+
[self.navigationController popViewControllerAnimated:YES];
192+
}
185193
}
186194

187195
#pragma mark UIWebViewDelegate

Coding_iOS/Models/Task.h

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -37,38 +37,28 @@ typedef NS_ENUM(NSInteger, TaskHandleType) {
3737
+ (Task *)taskWithBackend_project_path:(NSString *)backend_project_path andId:(NSString *)taskId;
3838
+ (Task *)taskWithTask:(Task *)task;
3939
- (BOOL)isSameToTask:(Task *)task;
40-
//内容
41-
- (NSString *)toEditTaskContentPath;
42-
-(NSDictionary *)toEditContentParams;
43-
//执行人
44-
- (NSString *)toEditTaskOwnerPath;
45-
-(NSDictionary *)toEditOwnerParams;
40+
4641
//任务状态
4742
- (NSString *)toEditTaskStatusPath;
4843
-(NSDictionary *)toEditStatusParams;
4944
-(NSDictionary *)toChangeStatusParams;
50-
//任务优先级
51-
- (NSString *)toEditTaskPriorityPath;
52-
-(NSDictionary *)toEditPriorityParams;
5345
//更新任务
5446
- (NSString *)toUpdatePath;
5547
-(NSDictionary *)toUpdateParamsWithOld:(Task *)oldTask;
48+
//更新任务描述
49+
- (NSString *)toUpdateDescriptionPath;
5650
//添加新任务
5751
- (NSString *)toAddTaskPath;
5852
- (NSDictionary *)toAddTaskParams;
5953
//删除任务
6054
- (NSString *)toDeleteTaskPath;
61-
6255
//任务评论列表
6356
- (NSString *)toCommentListPath;
6457
- (NSDictionary *)toCommentListParams;
65-
6658
//任务详情
6759
- (NSString *)toTaskDetailPath;
68-
6960
//任务描述
7061
- (NSString *)toDescriptionPath;
71-
7262
//评论任务
7363
- (NSString *)toDoCommentPath;
7464
- (NSDictionary *)toDoCommentParams;
@@ -79,7 +69,7 @@ typedef NS_ENUM(NSInteger, TaskHandleType) {
7969

8070
@interface Task_Description : NSObject
8171
@property (strong, nonatomic) NSString *description_mine, *markdown;
82-
+ (instancetype)taskDescriptionFrom:(Task_Description *)oldDes;
8372
+ (instancetype)defaultDescription;
84-
- (BOOL)isSameTo:(Task_Description *)td;
73+
+ (instancetype)descriptionWithMdStr:(NSString *)mdStr;
74+
8575
@end

Coding_iOS/Models/Task.m

Lines changed: 12 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ - (BOOL)isSameToTask:(Task *)task{
7676
&& self.priority.intValue == task.priority.intValue
7777
&& self.status.intValue == task.status.intValue
7878
&& ((!self.deadline && !task.deadline) || [self.deadline isEqualToString:task.deadline])
79-
&& ((!self.task_description && (!task.task_description || task.task_description.markdown.length <= 0)) || [self.task_description isSameTo:task.task_description]));
79+
);
8080
}
8181
- (void)copyDataFrom:(Task *)task{
8282
self.id = task.id;
@@ -100,25 +100,9 @@ - (void)copyDataFrom:(Task *)task{
100100
self.deadline = task.deadline;
101101

102102
self.has_description = task.has_description;
103-
if (self.has_description && task.task_description) {
104-
self.task_description = [Task_Description taskDescriptionFrom:task.task_description];
105-
}
103+
self.task_description = task.task_description;
106104
}
107105

108-
//内容
109-
- (NSString *)toEditTaskContentPath{
110-
return [NSString stringWithFormat:@"api/task/%d/content", self.id.intValue];
111-
}
112-
-(NSDictionary *)toEditContentParams{
113-
return @{@"content" : [self.content aliasedString]};
114-
}
115-
//执行人
116-
- (NSString *)toEditTaskOwnerPath{
117-
return [NSString stringWithFormat:@"api/task/%d/owner", self.id.intValue];
118-
}
119-
-(NSDictionary *)toEditOwnerParams{
120-
return @{@"owner_id" : self.owner_id};
121-
}
122106
//任务状态
123107
- (NSString *)toEditTaskStatusPath{
124108
return [NSString stringWithFormat:@"api/task/%d/status", self.id.intValue];
@@ -131,14 +115,6 @@ -(NSDictionary *)toChangeStatusParams{
131115
return @{@"status" : status};
132116
}
133117

134-
//任务优先级
135-
- (NSString *)toEditTaskPriorityPath{
136-
return [NSString stringWithFormat:@"api/task/%d/priority", self.id.intValue];
137-
}
138-
-(NSDictionary *)toEditPriorityParams{
139-
return @{@"priority" : self.priority};
140-
}
141-
142118
//更新任务
143119
- (NSString *)toUpdatePath{
144120
return [NSString stringWithFormat:@"api/task/%@/update", self.id.stringValue];
@@ -149,13 +125,6 @@ -(NSDictionary *)toUpdateParamsWithOld:(Task *)oldTask{
149125
if (self.content && ![self.content isEqualToString:oldTask.content]) {
150126
[params setObject:self.content forKey:@"content"];
151127
}
152-
//描述
153-
NSString *newMD = self.task_description.markdown;
154-
155-
if (newMD && ![newMD isEqualToString:oldTask.task_description.markdown] ) {
156-
[params setObject:[newMD aliasedString] forKey:@"description"];
157-
}
158-
159128
//执行者
160129
if (self.owner_id && self.owner_id.integerValue != oldTask.owner_id.integerValue) {
161130
[params setObject:self.owner_id forKey:@"owner_id"];
@@ -178,6 +147,10 @@ -(NSDictionary *)toUpdateParamsWithOld:(Task *)oldTask{
178147
return params;
179148
}
180149

150+
//更新任务描述
151+
- (NSString *)toUpdateDescriptionPath{
152+
return [NSString stringWithFormat:@"api/task/%d/description", self.id.intValue];
153+
}
181154
//添加新任务
182155
- (NSString *)toAddTaskPath{
183156
return [NSString stringWithFormat:@"api%@/task", self.backend_project_path];
@@ -272,22 +245,14 @@ - (instancetype)init
272245
return self;
273246
}
274247

275-
+ (instancetype)taskDescriptionFrom:(Task_Description *)oldDes{
276-
if (!oldDes) {
277-
return nil;
278-
}
279-
Task_Description *des = [[Task_Description alloc] init];
280-
des.markdown = oldDes.markdown;
281-
des.description_mine = oldDes.description_mine;
282-
return des;
283-
}
284248
+ (instancetype)defaultDescription{
285249
return [[Task_Description alloc] init];
286250
}
287-
- (BOOL)isSameTo:(Task_Description *)td{
288-
if (self.markdown.length == 0 && !td) {
289-
return YES;
290-
}
291-
return [self.markdown isEqualToString:td.markdown];
251+
252+
+ (instancetype)descriptionWithMdStr:(NSString *)mdStr{
253+
Task_Description *taskD = [Task_Description defaultDescription];
254+
taskD.markdown = mdStr;
255+
return taskD;
292256
}
257+
293258
@end

Coding_iOS/Util/Manager/Coding_NetAPIManager.h

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,8 @@
6767
- (void)request_AddTask:(Task *)task andBlock:(void (^)(id data, NSError *error))block;
6868
- (void)request_DeleteTask:(Task *)task andBlock:(void (^)(id data, NSError *error))block;
6969
- (void)request_EditTask:(Task *)task oldTask:(Task *)oldTask andBlock:(void (^)(id data, NSError *error))block;
70-
- (void)request_EditTaskContent:(Task *)task andBlock:(void (^)(id data, NSError *error))block;
71-
- (void)request_EditTaskOwner:(Task *)task andBlock:(void (^)(id data, NSError *error))block;
72-
- (void)request_EditTaskStatus:(Task *)task andBlock:(void (^)(id data, NSError *error))block;
73-
- (void)request_ChandeTaskStatus:(Task *)task andBlock:(void (^)(id data, NSError *error))block;
74-
- (void)request_EditTaskPriority:(Task *)task andBlock:(void (^)(id data, NSError *error))block;
70+
- (void)request_EditTask:(Task *)task withDescriptionStr:(NSString *)descriptionStr andBlock:(void (^)(id data, NSError *error))block;
71+
- (void)request_ChangeTaskStatus:(Task *)task andBlock:(void (^)(id data, NSError *error))block;
7572
- (void)request_TaskDetail:(Task *)task andBlock:(void (^)(id data, NSError *error))block;
7673
- (void)request_CommentListOfTask:(Task *)task andBlock:(void (^)(id data, NSError *error))block;
7774
- (void)request_DoCommentToTask:(Task *)task andBlock:(void (^)(id data, NSError *error))block;

Coding_iOS/Util/Manager/Coding_NetAPIManager.m

Lines changed: 9 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -547,7 +547,6 @@ - (void)request_DeleteTask:(Task *)task andBlock:(void (^)(id data, NSError *err
547547
}
548548
- (void)request_EditTask:(Task *)task oldTask:(Task *)oldTask andBlock:(void (^)(id data, NSError *error))block{
549549
[MobClick event:kUmeng_Event_Request label:@"更新任务"];
550-
551550
[[CodingNetAPIClient sharedJsonClient] requestJsonDataWithPath:[task toUpdatePath] withParams:[task toUpdateParamsWithOld:oldTask] withMethodType:Put andBlock:^(id data, NSError *error) {
552551
if (data) {
553552
block(task, nil);
@@ -557,38 +556,21 @@ - (void)request_EditTask:(Task *)task oldTask:(Task *)oldTask andBlock:(void (^)
557556
}];
558557
}
559558

560-
- (void)request_EditTaskContent:(Task *)task andBlock:(void (^)(id data, NSError *error))block{
561-
[MobClick event:kUmeng_Event_Request label:@"编辑任务内容"];
562-
[[CodingNetAPIClient sharedJsonClient] requestJsonDataWithPath:[task toEditTaskContentPath] withParams:[task toEditContentParams] withMethodType:Put andBlock:^(id data, NSError *error) {
559+
- (void)request_EditTask:(Task *)task withDescriptionStr:(NSString *)descriptionStr andBlock:(void (^)(id data, NSError *error))block{
560+
[MobClick event:kUmeng_Event_Request label:@"更新任务描述"];
561+
[[CodingNetAPIClient sharedJsonClient] requestJsonDataWithPath:[task toUpdateDescriptionPath] withParams:@{@"description" : descriptionStr} withMethodType:Put andBlock:^(id data, NSError *error) {
563562
if (data) {
564-
block(task, nil);
565-
}else{
566-
block(nil, error);
567-
}
568-
}];
569-
}
570-
- (void)request_EditTaskOwner:(Task *)task andBlock:(void (^)(id data, NSError *error))block{
571-
[MobClick event:kUmeng_Event_Request label:@"编辑任务执行人"];
572-
[[CodingNetAPIClient sharedJsonClient] requestJsonDataWithPath:[task toEditTaskOwnerPath] withParams:[task toEditOwnerParams] withMethodType:Put andBlock:^(id data, NSError *error) {
573-
if (data) {
574-
block(task, nil);
563+
data = [data valueForKey:@"data"];
564+
Task_Description *taskD = [NSObject objectOfClass:@"Task_Description" fromJSON:data];
565+
block(taskD, nil);
575566
}else{
576567
block(nil, error);
577568
}
578569
}];
570+
579571
}
580572

581-
- (void)request_EditTaskStatus:(Task *)task andBlock:(void (^)(id data, NSError *error))block{
582-
[MobClick event:kUmeng_Event_Request label:@"编辑任务状态"];
583-
[[CodingNetAPIClient sharedJsonClient] requestJsonDataWithPath:[task toEditTaskStatusPath] withParams:[task toEditStatusParams] withMethodType:Put andBlock:^(id data, NSError *error) {
584-
if (data) {
585-
block(task, nil);
586-
}else{
587-
block(nil, error);
588-
}
589-
}];
590-
}
591-
- (void)request_ChandeTaskStatus:(Task *)task andBlock:(void (^)(id data, NSError *error))block{
573+
- (void)request_ChangeTaskStatus:(Task *)task andBlock:(void (^)(id data, NSError *error))block{
592574
[MobClick event:kUmeng_Event_Request label:@"编辑任务状态"];
593575
[[CodingNetAPIClient sharedJsonClient] requestJsonDataWithPath:[task toEditTaskStatusPath] withParams:[task toChangeStatusParams] withMethodType:Put andBlock:^(id data, NSError *error) {
594576
if (data) {
@@ -599,16 +581,7 @@ - (void)request_ChandeTaskStatus:(Task *)task andBlock:(void (^)(id data, NSErro
599581
}
600582
}];
601583
}
602-
- (void)request_EditTaskPriority:(Task *)task andBlock:(void (^)(id data, NSError *error))block{
603-
[MobClick event:kUmeng_Event_Request label:@"编辑任务优先级"];
604-
[[CodingNetAPIClient sharedJsonClient] requestJsonDataWithPath:[task toEditTaskPriorityPath] withParams:[task toEditPriorityParams] withMethodType:Put andBlock:^(id data, NSError *error) {
605-
if (data) {
606-
block(task, nil);
607-
}else{
608-
block(nil, error);
609-
}
610-
}];
611-
}
584+
612585
- (void)request_TaskDetail:(Task *)task andBlock:(void (^)(id data, NSError *error))block{
613586
[MobClick event:kUmeng_Event_Request label:@"任务详情"];
614587
[[CodingNetAPIClient sharedJsonClient] requestJsonDataWithPath:[task toTaskDetailPath] withParams:nil withMethodType:Get andBlock:^(id data, NSError *error) {

Coding_iOS/Views/ProjectTaskListView.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,8 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N
200200
}else{
201201
task.isRequesting = YES;
202202
}
203-
//ChandeTaskStatus后,task对象的status属性会直接在请求结束后被修改
204-
[[Coding_NetAPIManager sharedManager] request_ChandeTaskStatus:task andBlock:^(id data, NSError *error) {
203+
//ChangeTaskStatus后,task对象的status属性会直接在请求结束后被修改
204+
[[Coding_NetAPIManager sharedManager] request_ChangeTaskStatus:task andBlock:^(id data, NSError *error) {
205205
[weakSelf.myTableView reloadData];
206206
task.isRequesting = NO;
207207
}];

0 commit comments

Comments
 (0)