任务增删改

This commit is contained in:
kuaifan 2021-06-18 13:17:19 +08:00
parent 6ca8c7456d
commit 4799c10858
5 changed files with 38 additions and 11 deletions

View File

@ -703,6 +703,7 @@ class ProjectController extends AbstractController
$task = ProjectTask::userTask($task_id);
//
$updateComplete = false;
$updateContent = false;
if (Base::isDate($data['complete_at'])) {
// 标记已完成
if ($task->complete_at) {
@ -719,11 +720,12 @@ class ProjectController extends AbstractController
$updateComplete = true;
} else {
// 更新任务
$result = $task->updateTask($data);
$result = $task->updateTask($data, $updateContent);
}
if (Base::isSuccess($result)) {
$result['data'] = $task->toArray();
$result['data']['is_update_complete'] = $updateComplete;
$result['data']['is_update_content'] = $updateContent;
$task->pushMsg('update', $result['data']);
}
return $result;
@ -814,7 +816,9 @@ class ProjectController extends AbstractController
if (empty($task->dialog_id)) {
return Base::retError('创建聊天失败');
}
$task->pushMsg('dialog');
return Base::retSuccess('success', [
'id' => $task->id,
'dialog_id' => $task->dialog_id,
]);
});

View File

@ -347,11 +347,12 @@ class ProjectTask extends AbstractModel
/**
* 修改任务
* @param $data
* @param $updateContent
* @return array
*/
public function updateTask($data)
public function updateTask($data, &$updateContent)
{
return AbstractModel::transaction(function () use ($data) {
return AbstractModel::transaction(function () use ($data, &$updateContent) {
// 标题
if (Arr::exists($data, 'name') && $this->name != $data['name']) {
if (empty($data['name'])) {
@ -436,6 +437,7 @@ class ProjectTask extends AbstractModel
]);
$this->desc = Base::getHtml($data['content']);
$this->addLog("修改任务详细描述");
$updateContent = true;
}
// 优先级
$p = false;
@ -624,7 +626,7 @@ class ProjectTask extends AbstractModel
/**
* 推送消息
* @param string $action
* @param array $data 发送内容,默认为[id, parent_id, project_id, column_id]
* @param array $data 发送内容,默认为[id, parent_id, project_id, column_id, dialog_id]
* @param array $userid 指定会员,默认为项目所有成员
*/
public function pushMsg($action, $data = null, $userid = null)
@ -638,6 +640,7 @@ class ProjectTask extends AbstractModel
'parent_id' => $this->parent_id,
'project_id' => $this->project_id,
'column_id' => $this->column_id,
'dialog_id' => $this->dialog_id,
];
}
if ($userid === null) {

View File

@ -996,12 +996,8 @@ export default {
task_id: this.taskDetail.id,
},
}).then(({data}) => {
this.$store.dispatch("saveTask", {
id: this.taskDetail.id,
dialog_id: data.dialog_id
});
this.$store.commit("taskDialogSuccess", data);
this.$nextTick(() => {
this.$store.dispatch("getDialogMsgList", data.dialog_id);
this.$refs.dialog.sendMsg(this.msgText);
this.msgText = "";
});

View File

@ -685,7 +685,15 @@ export default {
data: post,
method: 'post',
}).then(result => {
commit("taskUpdateSuccess", result.data)
const {data} = result;
if (data.is_update_content === true) {
state.projectTaskContent[data.id] = post['content'];
if (data.id == state.projectOpenTask.id) {
state.projectOpenTask = Object.assign({}, state.projectOpenTask, {content: post['content']});
}
data.is_update_content = false;
}
commit("taskUpdateSuccess", data)
resolve(result)
}).catch(result => {
dispatch("getTaskBasic", post.task_id);
@ -1169,6 +1177,9 @@ export default {
case 'upload':
commit("taskUploadSuccess", data)
break;
case 'dialog':
commit("taskDialogSuccess", data)
break;
case 'archived':
case 'delete':
commit("taskDeleteSuccess", data)

View File

@ -102,9 +102,12 @@ export default {
if (data.parent_id) {
this.dispatch("getTaskBasic", data.parent_id);
}
if (data.is_update_complete) {
if (data.is_update_complete === true) {
this.dispatch("getProjectBasic", {id: data.project_id});
}
if (data.is_update_content === true) {
this.dispatch("getTaskContent", data.id);
}
this.dispatch("saveTask", data);
},
@ -138,6 +141,16 @@ export default {
});
},
/**
* 任务打开聊天
* @param state
* @param data
*/
taskDialogSuccess(state, data) {
this.dispatch("saveTask", data);
this.dispatch("getDialogMsgList", data.dialog_id);
},
/**
* 删除任务
* @param state