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'] = $setting['unclaimed_task_reminder'] ?: 'close';
$setting['unclaimed_task_reminder_time'] = $setting['unclaimed_task_reminder_time'] ?: ''; $setting['unclaimed_task_reminder_time'] = $setting['unclaimed_task_reminder_time'] ?: '';
$setting['task_ai_auto_analyze'] = $setting['task_ai_auto_analyze'] ?: 'open'; $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_timezone'] = config('app.timezone');
$setting['server_version'] = Base::getVersion(); $setting['server_version'] = Base::getVersion();
// 指定人员名单仅管理员可见 // 指定人员名单仅管理员可见

View File

@ -418,7 +418,7 @@ class UsersController extends AbstractController
public function info__managed_departments() public function info__managed_departments()
{ {
$user = User::auth(); $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', []);
} }
return Base::retSuccess('success', UserDepartment::getManagedDepartments($user->userid)); return Base::retSuccess('success', UserDepartment::getManagedDepartments($user->userid));

View File

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

View File

@ -30,7 +30,7 @@ class DashboardTeam
*/ */
public static function context(User $user, $selectedDepartmentIds = null): array 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('未开启部门负责人视角功能'); 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_tools: []
related_pages: [dashboard] related_pages: [dashboard]
prerequisites: prerequisites:
- 系统已开启部门负责人视角 - 系统已开启部门负责人视角(默认开启)
- 当前用户是至少一个部门的负责人或部门管理员 - 当前用户是至少一个部门的负责人或部门管理员
negative: negative:
- 团队仪表盘不统计私密任务和子任务 - 团队仪表盘不统计私密任务和子任务

View File

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

View File

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

View File

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