feat: 默认开启部门负责人视角

This commit is contained in:
kuaifan 2026-07-21 09:06:36 +00:00
parent 93c604a554
commit 4c9951c667
10 changed files with 11 additions and 11 deletions

View File

@ -154,7 +154,7 @@ class SystemController extends AbstractController
$setting['unclaimed_task_reminder'] = $setting['unclaimed_task_reminder'] ?: 'close';
$setting['unclaimed_task_reminder_time'] = $setting['unclaimed_task_reminder_time'] ?: '';
$setting['task_ai_auto_analyze'] = $setting['task_ai_auto_analyze'] ?: 'open';
$setting['department_owner_project_view'] = $setting['department_owner_project_view'] ?: 'close';
$setting['department_owner_project_view'] = $setting['department_owner_project_view'] ?: 'open';
$setting['server_timezone'] = config('app.timezone');
$setting['server_version'] = Base::getVersion();
// 指定人员名单仅管理员可见

View File

@ -418,7 +418,7 @@ class UsersController extends AbstractController
public function info__managed_departments()
{
$user = User::auth();
if (Base::settingFind('system', 'department_owner_project_view', 'close') !== 'open') {
if (Base::settingFind('system', 'department_owner_project_view', 'open') !== 'open') {
return Base::retSuccess('success', []);
}
return Base::retSuccess('success', UserDepartment::getManagedDepartments($user->userid));

View File

@ -561,7 +561,7 @@ class UserDepartment extends AbstractModel
'own_project_ids' => [],
'own_project_id_map' => [],
];
if ($ids === null || $ids === '' || Base::settingFind('system', 'department_owner_project_view', 'close') !== 'open') {
if ($ids === null || $ids === '' || Base::settingFind('system', 'department_owner_project_view', 'open') !== 'open') {
return $empty;
}
$memberUserids = self::getManagedMemberUserids($user->userid, $ids);
@ -653,7 +653,7 @@ class UserDepartment extends AbstractModel
return $result;
}
// 部门负责人只读视角
if (Base::settingFind('system', 'department_owner_project_view', 'close') !== 'open') {
if (Base::settingFind('system', 'department_owner_project_view', 'open') !== 'open') {
return $result;
}
$memberUserids = self::getManagedMemberUserids($viewer->userid, 'all');

View File

@ -30,7 +30,7 @@ class DashboardTeam
*/
public static function context(User $user, $selectedDepartmentIds = null): array
{
if (Base::settingFind('system', 'department_owner_project_view', 'close') !== 'open') {
if (Base::settingFind('system', 'department_owner_project_view', 'open') !== 'open') {
throw new ApiException('未开启部门负责人视角功能');
}

View File

@ -25,7 +25,7 @@ last_verified: v1.8.69
# 仪表盘个人视角与部门负责人视角
## 定义
DooTask 仪表盘是登录后的任务工作台,入口为左侧栏「仪表盘」。所有用户都有个人视角;系统开启「部门负责人视角」且当前用户负责或管理至少一个部门时,右上角还会出现「个人视角 / 部门负责人」切换。
DooTask 仪表盘是登录后的任务工作台,入口为左侧栏「仪表盘」。所有用户都有个人视角;系统默认开启「部门负责人视角」(管理员可关闭),且当前用户负责或管理至少一个部门时,右上角还会出现「个人视角 / 部门负责人」切换。
## 个人视角
- 顶部卡片:已超期、今日到期、待完成、我协助的;待完成卡片还会提示待开始数量。

View File

@ -15,7 +15,7 @@ aliases:
related_tools: []
related_pages: [dashboard]
prerequisites:
- 系统已开启部门负责人视角
- 系统已开启部门负责人视角(默认开启)
- 当前用户是至少一个部门的负责人或部门管理员
negative:
- 团队仪表盘不统计私密任务和子任务

View File

@ -20,7 +20,7 @@ negative:
- 一个部门只有一个部门负责人owner_userid 字段,单值)
- 部门管理员可以多人user_department_owners 表)
- 部门负责人不会自动获得部门成员名下任务的修改权限
- 只有系统开启负责人视角后,才能使用团队仪表盘和项目只读视角
- 系统默认开启负责人视角(管理员可关闭)后,才能使用团队仪表盘和项目只读视角
- 调任 / 离职部门,要由系统管理员通过部门操作完成,用户自己不能改
last_verified: v1.8.69
---

View File

@ -16,7 +16,7 @@ related_tools: []
related_pages: [dashboard, project_list]
prerequisites:
- 当前用户是某部门的部门负责人或部门管理员
- 系统管理员已开启部门负责人视角
- 系统管理员未关闭部门负责人视角(新安装默认开启)
negative:
- 项目负责人视角只能只读查看额外项目,不授予修改权限
- 项目可单独关闭负责人视角可见性,关闭后不会被纳入

View File

@ -37,7 +37,7 @@ last_verified: v1.8.69
- 部门负责人视角顶部的部门按钮可打开「选择团队范围」弹窗。
## 部门负责人视角出现条件
1. 系统设置 `department_owner_project_view` 已开启。
1. 系统设置 `department_owner_project_view` 已开启(新安装或未设置时默认开启,管理员可手动关闭)
2. 当前用户是至少一个部门的负责人或部门管理员。
详细界面说明见 [[dashboard.concept]],部门范围规则见 [[dashboard.team-scope.howto]]。

View File

@ -34,4 +34,4 @@ last_verified: v1.8.69
- 部门负责人视角:团队指标、成员任务分配、优先级分布、重点关注任务。
## 权限
所有登录用户可访问个人视角。系统开启负责人视角且用户管理至少一个部门时,才显示「部门负责人」切换。详细说明见 [[dashboard.entry.menu-map]]。
所有登录用户可访问个人视角。系统默认开启负责人视角(管理员可关闭),且用户管理至少一个部门时,才显示「部门负责人」切换。详细说明见 [[dashboard.entry.menu-map]]。