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 = []; $array = [];
if (empty($data['parent_id'])) {
if (Arr::exists($data, 'owner') || Arr::exists($data, 'assist')) { if (Arr::exists($data, 'owner') || Arr::exists($data, 'assist')) {
$taskUser = ProjectTaskUser::select(['userid', 'owner'])->whereTaskId($data['id'])->get(); $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); $userids = array_diff($userids, $owners, $assists);
} else { break;
// 指定可见 case 2:
$userids = $taskUser->pluck('userid')->toArray(); // 任务人员,除了负责人、协助人
$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, [ if ($userids) {
'owner' => 0,
'assist' => 0,
]);
}
}
//
$array[] = [ $array[] = [
'userid' => array_values($userids), 'userid' => array_values($userids),
'data' => $data 'data' => array_merge($data, [
'owner' => 0,
'assist' => 0,
])
]; ];
}
}
// //
foreach ($array as $item) { foreach ($array as $item) {
$params = [ $params = [

View File

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