mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-12 19:35:50 +00:00
fix: 显示无关系的子任务、指定成员可见消息推送
This commit is contained in:
parent
47832ececb
commit
2e70c9617c
@ -1430,53 +1430,62 @@ 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();
|
// 负责人
|
||||||
// 负责人
|
$owners = $taskUser->where('owner', 1)->pluck('userid')->toArray();
|
||||||
$owners = $taskUser->where('owner', 1)->pluck('userid')->toArray();
|
$owners = array_intersect($userids, $owners);
|
||||||
$owners = array_intersect($userids, $owners);
|
if ($owners) {
|
||||||
if ($owners) {
|
$array[] = [
|
||||||
$array[] = [
|
'userid' => array_values($owners),
|
||||||
'userid' => array_values($owners),
|
'data' => array_merge($data, [
|
||||||
'data' => array_merge($data, [
|
'owner' => 1,
|
||||||
'owner' => 1,
|
'assist' => 1,
|
||||||
'assist' => 1,
|
])
|
||||||
])
|
];
|
||||||
];
|
}
|
||||||
}
|
// 协助人
|
||||||
// 协助人
|
$assists = $taskUser->where('owner', 0)->pluck('userid')->toArray();
|
||||||
$assists = $taskUser->where('owner', 0)->pluck('userid')->toArray();
|
$assists = array_intersect($userids, $assists);
|
||||||
$assists = array_intersect($userids, $assists);
|
if ($assists) {
|
||||||
if ($assists) {
|
$array[] = [
|
||||||
$array[] = [
|
'userid' => array_values($assists),
|
||||||
'userid' => array_values($assists),
|
'data' => array_merge($data, [
|
||||||
'data' => array_merge($data, [
|
'owner' => 0,
|
||||||
'owner' => 0,
|
'assist' => 1,
|
||||||
'assist' => 1,
|
])
|
||||||
])
|
];
|
||||||
];
|
}
|
||||||
}
|
// 其他人
|
||||||
// 项目成员(其他人)
|
switch ($data['visibility']) {
|
||||||
if ($data['visibility'] == 1) {
|
case 1:
|
||||||
// 全部可见
|
// 项目人员,除了负责人、协助人项目其他人
|
||||||
$userids = array_diff($userids, $owners, $assists);
|
$userids = array_diff($userids, $owners, $assists);
|
||||||
} else {
|
break;
|
||||||
// 指定可见
|
case 2:
|
||||||
$userids = $taskUser->pluck('userid')->toArray();
|
// 任务人员,除了负责人、协助人
|
||||||
}
|
$userids = [];
|
||||||
$data = array_merge($data, [
|
break;
|
||||||
'owner' => 0,
|
case 3:
|
||||||
'assist' => 0,
|
// 指定成员
|
||||||
]);
|
$specifys = ProjectTaskVisibilityUser::select(['userid'])->whereTaskId($data['id'])->pluck('userid')->toArray();
|
||||||
|
$userids = array_diff($specifys, $owners, $assists);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
$userids = [];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if ($userids) {
|
||||||
|
$array[] = [
|
||||||
|
'userid' => array_values($userids),
|
||||||
|
'data' => array_merge($data, [
|
||||||
|
'owner' => 0,
|
||||||
|
'assist' => 0,
|
||||||
|
])
|
||||||
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
$array[] = [
|
|
||||||
'userid' => array_values($userids),
|
|
||||||
'data' => $data
|
|
||||||
];
|
|
||||||
//
|
|
||||||
foreach ($array as $item) {
|
foreach ($array as $item) {
|
||||||
$params = [
|
$params = [
|
||||||
'ignoreFd' => Request::header('fd'),
|
'ignoreFd' => Request::header('fd'),
|
||||||
|
|||||||
2
resources/assets/js/store/state.js
vendored
2
resources/assets/js/store/state.js
vendored
@ -7,7 +7,7 @@ export default {
|
|||||||
clientId: "",
|
clientId: "",
|
||||||
|
|
||||||
// 缓存版本号(如果想升级后清除客户端缓存则修改此参数值)
|
// 缓存版本号(如果想升级后清除客户端缓存则修改此参数值)
|
||||||
cacheVersion: "v5",
|
cacheVersion: "v6",
|
||||||
|
|
||||||
// 窗口是否激活
|
// 窗口是否激活
|
||||||
windowActive: true,
|
windowActive: true,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user