feat: 优化获取任务子任务数据相关逻辑

This commit is contained in:
kuaifan 2025-10-26 09:30:24 +08:00
parent 50b1d93f08
commit 95ca496691
2 changed files with 60 additions and 0 deletions

View File

@ -1785,6 +1785,38 @@ class ProjectController extends AbstractController
return Base::retSuccess('success', $data);
}
/**
* @api {get} api/project/task/subdata 25. 获取子任务数据
*
* @apiDescription 需要token身份相对one接口这个只获取主任务的子任务数据
* @apiVersion 1.0.0
* @apiGroup project
* @apiName task__subdata
*
* @apiParam {Number} task_id 任务ID
*
* @apiSuccess {Number} ret 返回状态码1正确、0错误
* @apiSuccess {String} msg 返回信息(错误描述)
* @apiSuccess {Object} data 返回数据
*/
public function task__subdata()
{
User::auth();
$task_id = intval(Request::input('task_id'));
if ($task_id <= 0) {
return Base::retError('参数错误', ['task_id' => $task_id]);
}
//
$task = ProjectTask::userTask($task_id);
//
return Base::retSuccess('success', [
'id' => $task->id,
'sub_num' => $task->sub_num,
'sub_complete' => $task->sub_complete,
'percent' => $task->percent,
]);
}
/**
* @api {get} api/project/task/related 26. 获取任务关联任务列表
*

View File

@ -2157,6 +2157,32 @@ export default {
});
},
/**
* 获取任务的子任务数据
* @param state
* @param dispatch
* @param taskId
*/
getTaskSubData({state, dispatch}, taskId) {
if (!taskId) {
return;
}
const parentTask = state.cacheTasks.find(({id}) => id == taskId);
if (!parentTask) {
return;
}
dispatch("call", {
url: 'project/task/subdata',
data: {
task_id: taskId
},
}).then(({data}) => {
dispatch("saveTask", Object.assign(parentTask, data))
}).catch(e => {
console.warn(e);
});
},
/**
* 获取Dashboard相关任务
* @param state
@ -2569,6 +2595,7 @@ export default {
delete task.new_column
}
dispatch("saveTask", task)
dispatch("getTaskSubData", task.parent_id)
dispatch("getProjectOne", task.project_id).catch(() => {})
},
@ -2592,6 +2619,7 @@ export default {
method: 'post',
}).then(result => {
dispatch("saveTask", result.data)
dispatch("getTaskSubData", result.data.parent_id)
resolve(result)
}).catch(e => {
console.warn(e);