diff --git a/app/Models/Project.php b/app/Models/Project.php index 3a33022e..d4dacc17 100644 --- a/app/Models/Project.php +++ b/app/Models/Project.php @@ -376,6 +376,7 @@ class Project extends AbstractModel $idc = []; $hasStart = false; $hasEnd = false; + $upTaskList = []; foreach ($flows as $item) { $id = intval($item['id']); $turns = Base::arrayRetainInt($item['turns'] ?: [], true); @@ -403,7 +404,7 @@ class Project extends AbstractModel 'userids' => $userids, 'usertype' => trim($item['usertype']), 'userlimit' => $userlimit, - ]); + ], [], $isInsert); if ($flow) { $ids[] = $flow->id; if ($flow->id != $id) { @@ -415,6 +416,9 @@ class Project extends AbstractModel if ($flow->status == 'end') { $hasEnd = true; } + if (!$isInsert) { + $upTaskList[$flow->id] = $flow->status . "|" . $flow->name; + } } } if (!$hasStart) { @@ -429,6 +433,12 @@ class Project extends AbstractModel } }); // + foreach ($upTaskList as $id => $value) { + ProjectTask::whereFlowItemId($id)->update([ + 'flow_item_name' => $value + ]); + } + // $projectFlow = ProjectFlow::with(['projectFlowItem'])->whereProjectId($this->id)->find($projectFlow->id); $itemIds = $projectFlow->projectFlowItem->pluck('id')->toArray(); foreach ($projectFlow->projectFlowItem as $item) { diff --git a/resources/assets/js/store/actions.js b/resources/assets/js/store/actions.js index 800b14b2..0e0d625b 100644 --- a/resources/assets/js/store/actions.js +++ b/resources/assets/js/store/actions.js @@ -1628,6 +1628,7 @@ export default { task_id: task_id }, }).then(result => { + let task = state.cacheTasks.find(({id}) => id == task_id) let {data} = result data.turns.some(item => { let index = state.taskFlowItems.findIndex(({id}) => id == item.id); @@ -1636,6 +1637,16 @@ export default { } else { state.taskFlowItems.push(item); } + if (task + && task.flow_item_id == item.id + && task.flow_item_name != item.name) { + state.cacheTasks.filter(({flow_item_id})=> flow_item_id == item.id).some(task => { + dispatch("saveTask", { + id: task.id, + flow_item_name: `${item.status}|${item.name}`, + }) + }) + } }) // delete data.turns;