fix: 显示无关系的子任务、指定成员可见消息推送

This commit is contained in:
kuaifan 2024-03-02 12:45:01 +08:00
parent 47832ececb
commit 2e70c9617c
2 changed files with 53 additions and 44 deletions

View File

@ -1430,7 +1430,6 @@ class ProjectTask extends AbstractModel
}
//
$array = [];
if (empty($data['parent_id'])) {
if (Arr::exists($data, 'owner') || Arr::exists($data, 'assist')) {
$taskUser = ProjectTaskUser::select(['userid', 'owner'])->whereTaskId($data['id'])->get();
// 负责人
@ -1457,25 +1456,35 @@ class ProjectTask extends AbstractModel
])
];
}
// 项目成员(其他人)
if ($data['visibility'] == 1) {
// 全部可见
// 其他人
switch ($data['visibility']) {
case 1:
// 项目人员,除了负责人、协助人项目其他人
$userids = array_diff($userids, $owners, $assists);
} else {
// 指定可见
$userids = $taskUser->pluck('userid')->toArray();
break;
case 2:
// 任务人员,除了负责人、协助人
$userids = [];
break;
case 3:
// 指定成员
$specifys = ProjectTaskVisibilityUser::select(['userid'])->whereTaskId($data['id'])->pluck('userid')->toArray();
$userids = array_diff($specifys, $owners, $assists);
break;
default:
$userids = [];
break;
}
$data = array_merge($data, [
'owner' => 0,
'assist' => 0,
]);
}
}
//
if ($userids) {
$array[] = [
'userid' => array_values($userids),
'data' => $data
'data' => array_merge($data, [
'owner' => 0,
'assist' => 0,
])
];
}
}
//
foreach ($array as $item) {
$params = [

View File

@ -7,7 +7,7 @@ export default {
clientId: "",
// 缓存版本号(如果想升级后清除客户端缓存则修改此参数值)
cacheVersion: "v5",
cacheVersion: "v6",
// 窗口是否激活
windowActive: true,