perf: 优化修改工作流的过程
This commit is contained in:
parent
7c952822db
commit
e3b7ac00fd
@ -376,6 +376,7 @@ class Project extends AbstractModel
|
|||||||
$idc = [];
|
$idc = [];
|
||||||
$hasStart = false;
|
$hasStart = false;
|
||||||
$hasEnd = false;
|
$hasEnd = false;
|
||||||
|
$upTaskList = [];
|
||||||
foreach ($flows as $item) {
|
foreach ($flows as $item) {
|
||||||
$id = intval($item['id']);
|
$id = intval($item['id']);
|
||||||
$turns = Base::arrayRetainInt($item['turns'] ?: [], true);
|
$turns = Base::arrayRetainInt($item['turns'] ?: [], true);
|
||||||
@ -403,7 +404,7 @@ class Project extends AbstractModel
|
|||||||
'userids' => $userids,
|
'userids' => $userids,
|
||||||
'usertype' => trim($item['usertype']),
|
'usertype' => trim($item['usertype']),
|
||||||
'userlimit' => $userlimit,
|
'userlimit' => $userlimit,
|
||||||
]);
|
], [], $isInsert);
|
||||||
if ($flow) {
|
if ($flow) {
|
||||||
$ids[] = $flow->id;
|
$ids[] = $flow->id;
|
||||||
if ($flow->id != $id) {
|
if ($flow->id != $id) {
|
||||||
@ -415,6 +416,9 @@ class Project extends AbstractModel
|
|||||||
if ($flow->status == 'end') {
|
if ($flow->status == 'end') {
|
||||||
$hasEnd = true;
|
$hasEnd = true;
|
||||||
}
|
}
|
||||||
|
if (!$isInsert) {
|
||||||
|
$upTaskList[$flow->id] = $flow->status . "|" . $flow->name;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!$hasStart) {
|
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);
|
$projectFlow = ProjectFlow::with(['projectFlowItem'])->whereProjectId($this->id)->find($projectFlow->id);
|
||||||
$itemIds = $projectFlow->projectFlowItem->pluck('id')->toArray();
|
$itemIds = $projectFlow->projectFlowItem->pluck('id')->toArray();
|
||||||
foreach ($projectFlow->projectFlowItem as $item) {
|
foreach ($projectFlow->projectFlowItem as $item) {
|
||||||
|
@ -1628,6 +1628,7 @@ export default {
|
|||||||
task_id: task_id
|
task_id: task_id
|
||||||
},
|
},
|
||||||
}).then(result => {
|
}).then(result => {
|
||||||
|
let task = state.cacheTasks.find(({id}) => id == task_id)
|
||||||
let {data} = result
|
let {data} = result
|
||||||
data.turns.some(item => {
|
data.turns.some(item => {
|
||||||
let index = state.taskFlowItems.findIndex(({id}) => id == item.id);
|
let index = state.taskFlowItems.findIndex(({id}) => id == item.id);
|
||||||
@ -1636,6 +1637,16 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
state.taskFlowItems.push(item);
|
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;
|
delete data.turns;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user