perf: 优化修改工作流的过程
This commit is contained in:
parent
7c952822db
commit
e3b7ac00fd
@ -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) {
|
||||
|
11
resources/assets/js/store/actions.js
vendored
11
resources/assets/js/store/actions.js
vendored
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user