mirror of
https://github.com/kuaifan/dootask.git
synced 2026-07-22 14:08:24 +00:00
docs(ai-kb): 同步仪表盘与负责人视角
This commit is contained in:
parent
71ca6ba249
commit
48c2c16111
@ -64,8 +64,8 @@ tests:
|
||||
q: "仪表盘上有哪些卡片?"
|
||||
locale: zh
|
||||
expected_chunk_ids: [dashboard.concept]
|
||||
expected_answer: "仪表盘顶部有「今日到期 / 超期任务 / 待完成任务」3 个统计卡片,下方按今日到期、超期、待完成、协助的任务分组列出任务,是个人工作台。"
|
||||
must_say: [仪表盘, 卡片]
|
||||
expected_answer: "个人视角顶部有「已超期 / 今日到期 / 待完成 / 我协助的」4 张摘要卡,待完成卡还会提示待开始数量;列表布局另有待开始和本周完成分组。符合条件的部门负责人还能切换团队视角,查看未完成、已超期、3 天内到期、本周完成等团队指标。"
|
||||
must_say: [已超期, 今日到期, 待完成, 我协助的]
|
||||
must_not_say: []
|
||||
bucket: easy
|
||||
feature: dashboard
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
# chunks 实际起草后填入的 chunk id 清单(增量)
|
||||
|
||||
version: 1
|
||||
last_updated: 2026-06-09
|
||||
last_updated: 2026-07-19
|
||||
|
||||
features:
|
||||
|
||||
@ -22,7 +22,7 @@ features:
|
||||
scope: end-user
|
||||
batch: B1
|
||||
priority: P0
|
||||
chunk_count_est: 8
|
||||
chunk_count_est: 16
|
||||
owner: ~
|
||||
status: drafted
|
||||
chunks:
|
||||
@ -34,6 +34,14 @@ features:
|
||||
- dashboard.assist.howto
|
||||
- dashboard.collapse.howto
|
||||
- dashboard.refresh.faq
|
||||
- dashboard.layout.howto
|
||||
- dashboard.upcoming.howto
|
||||
- dashboard.completed.howto
|
||||
- dashboard.empty-state.faq
|
||||
- dashboard.team.concept
|
||||
- dashboard.team-scope.howto
|
||||
- dashboard.team-focus.howto
|
||||
- dashboard.team-refresh.faq
|
||||
|
||||
- id: calendar
|
||||
name: 日历
|
||||
@ -846,8 +854,8 @@ features:
|
||||
# ----------------------------------------------------------------
|
||||
# 总览(P0 估算; 实际起草时按需调整)
|
||||
#
|
||||
# B1: dashboard(8) + calendar(12) + messenger(40) + file(25)
|
||||
# + project(30) + task(40) = 155
|
||||
# B1: dashboard(16) + calendar(12) + messenger(40) + file(25)
|
||||
# + project(30) + task(40) = 163
|
||||
# B2: view(12) + meeting(12) + report(15) + approve(20)
|
||||
# + checkin(15) + okr(12) = 86
|
||||
# B3: application(5) + app-system(15) + app-admin(10) + micro-app(8)
|
||||
|
||||
@ -11,15 +11,15 @@
|
||||
# - 项目内弹窗类(project_settings/member/flow 等需组件接线)二期再加
|
||||
|
||||
version: 1
|
||||
last_updated: 2026-06-10
|
||||
last_updated: 2026-07-19
|
||||
|
||||
links:
|
||||
|
||||
# ===== 顶层功能页 =====
|
||||
dashboard:
|
||||
title: 仪表盘
|
||||
aliases: [仪表盘, 工作台, 首页]
|
||||
description: 个人工作台首页(待办、项目概览)
|
||||
aliases: [仪表盘, 工作台, 首页, 部门任务总览, 团队仪表盘]
|
||||
description: 个人任务工作台;部门负责人还可切换查看团队任务总览
|
||||
|
||||
messenger:
|
||||
title: 消息
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
# (OCR)已下线,改由多模态模型直接理解图片。
|
||||
|
||||
version: 1
|
||||
last_updated: 2026-06-12
|
||||
last_updated: 2026-07-19
|
||||
|
||||
tools:
|
||||
|
||||
@ -31,7 +31,7 @@ tools:
|
||||
# ===== 任务 =====
|
||||
list_tasks:
|
||||
description: 列表获取用户相关任务,支持状态/项目/时间范围筛选
|
||||
related_features: [task]
|
||||
related_features: [task, dashboard]
|
||||
typical_chunk_types: [howto]
|
||||
|
||||
get_task:
|
||||
@ -46,12 +46,12 @@ tools:
|
||||
|
||||
update_task:
|
||||
description: 更新任务属性
|
||||
related_features: [task]
|
||||
related_features: [task, dashboard]
|
||||
typical_chunk_types: [howto]
|
||||
|
||||
complete_task:
|
||||
description: 标记任务完成
|
||||
related_features: [task]
|
||||
related_features: [task, dashboard]
|
||||
typical_chunk_types: [howto]
|
||||
|
||||
delete_task:
|
||||
|
||||
@ -18,7 +18,7 @@ negative:
|
||||
- 日历**没有独立的事件表**,全部从 ProjectTask 派生
|
||||
- 不显示会议(Meeting)、签到、报告,仅显示任务
|
||||
- 仅显示当前用户作为负责人(owner=1)的任务,不显示协作任务
|
||||
last_verified: v1.7.90
|
||||
last_verified: v1.8.69
|
||||
---
|
||||
|
||||
# 日历是什么 / 数据源
|
||||
@ -42,7 +42,7 @@ DooTask 日历是把 [[task.field.deadline.concept]] 有 end_at 的任务按时
|
||||
详见 [[calendar.allday.concept]]。
|
||||
|
||||
## 与其他模块的关系
|
||||
- **仪表盘**([[dashboard.concept]]):列表形式,按今日 / 超期 / 待完成分类,不显示位置
|
||||
- **仪表盘**([[dashboard.concept]]):个人视角按已超期 / 今日到期 / 待完成 / 待开始 / 协助 / 本周完成分类,不显示日历位置
|
||||
- **任务列表**:按列表展示,可看已完成 / 已归档
|
||||
- **日历**:按时间格展示,仅未归档 + 有 end_at + 我是负责人
|
||||
|
||||
|
||||
@ -1,56 +1,42 @@
|
||||
---
|
||||
id: dashboard.concept
|
||||
title: 仪表盘是什么 / 显示哪些卡片
|
||||
title: 仪表盘个人视角与部门负责人视角
|
||||
type: concept
|
||||
feature: dashboard
|
||||
scope: end-user
|
||||
locale: zh
|
||||
aliases:
|
||||
- 仪表盘是什么
|
||||
- 仪表盘有什么
|
||||
- 仪表盘卡片
|
||||
- 仪表盘有哪些卡片
|
||||
- 仪表盘显示什么
|
||||
- 仪表盘显示哪些卡片
|
||||
- 个人工作台
|
||||
- 团队仪表盘
|
||||
- 部门任务总览
|
||||
- 负责人仪表盘
|
||||
related_tools: [list_tasks]
|
||||
related_pages: [dashboard]
|
||||
prerequisites: []
|
||||
negative:
|
||||
- 仪表盘只显示「我作为负责人 owner=1」的任务,协作任务在专门的分组
|
||||
- 仪表盘不显示项目进度 / 团队整体数据,仅个人视角
|
||||
- 仪表盘不显示已完成任务(默认)
|
||||
last_verified: v1.7.90
|
||||
- 普通成员只有个人视角,不能查看部门负责人视角
|
||||
- 部门负责人视角是只读任务总览,不会授予任务修改权限
|
||||
- 仪表盘不支持用户自定义卡片或调整统计口径
|
||||
last_verified: v1.8.69
|
||||
---
|
||||
|
||||
# 仪表盘是什么 / 显示哪些卡片
|
||||
# 仪表盘个人视角与部门负责人视角
|
||||
|
||||
## 定义
|
||||
DooTask 仪表盘(Dashboard)是当前用户的个人工作台,回答「今天我要做什么」。仪表盘由顶部 3 张数字卡片 + 下方 4 个分组列表卡片组成,从前端 store 的 `dashboardTask` 与 `assistTask` getter 实时计算,按时间分类显示当前用户名下的未完成任务。
|
||||
DooTask 仪表盘是登录后的任务工作台,入口为左侧栏「仪表盘」。所有用户都有个人视角;系统开启「部门负责人视角」且当前用户负责或管理至少一个部门时,右上角还会出现「个人视角 / 部门负责人」切换。
|
||||
|
||||
## 顶部 3 张数字卡片
|
||||
| 卡片 | 含义 |
|
||||
|---|---|
|
||||
| 今日到期 | end_at 在今天范围内、未完成、未归档的任务数 |
|
||||
| 超期任务 | end_at 已过今天 23:59:59 但未完成的任务数 |
|
||||
| 待完成 | 没设 end_at 或 end_at 还未到的未完成任务数 |
|
||||
## 个人视角
|
||||
- 顶部卡片:已超期、今日到期、待完成、我协助的;待完成卡片还会提示待开始数量。
|
||||
- 列表布局:按已超期、今日到期、待完成、待开始、我协助的、本周完成分组。
|
||||
- 四象限布局:并排展示已超期、今日到期、待完成、我协助的四组。
|
||||
- 数据以当前用户负责或协助的任务为主,不是全项目统计。
|
||||
|
||||
## 下方 4 张分组卡片
|
||||
1. **今日到期** 卡片 — 今天必须完成的任务
|
||||
2. **超期任务** 卡片 — 需要立刻处理或调整截止时间的任务
|
||||
3. **待完成** 卡片 — 后续要做的任务(含无截止时间)
|
||||
4. **协助的任务** 卡片 — 我作为 [[task.field.owner-assist.concept]] 中协作者(assist)的任务,独立于上面三组
|
||||
## 部门负责人视角
|
||||
- 展示未完成、已超期、3 天内到期、本周完成四项团队指标。
|
||||
- 展示成员任务分配、优先级分布和可下钻的重点关注任务。
|
||||
- 统计范围为所选管理部门及全部下级部门,详见 [[dashboard.team.concept]]。
|
||||
|
||||
## 数据来源
|
||||
- 全部从 ProjectTask 表派生([[task.field.deadline.concept]] 的 end_at 字段)
|
||||
- 仅算 owner=1 命中当前用户的(前 3 组),assist 命中的(第 4 组)
|
||||
- 已归档([[task.archive.howto]])/ 已完成([[task.complete.howto]])的任务不显示
|
||||
|
||||
## 与「项目统计」的区别
|
||||
- 仪表盘:个人视角,全部项目
|
||||
- [[project.statistics.concept]]:单项目视角,整项目
|
||||
|
||||
## 不支持
|
||||
- 不显示团队 / 部门维度的汇总
|
||||
- 不能切换看别人的仪表盘
|
||||
- 不能增加自定义卡片
|
||||
## 本地记忆
|
||||
当前视角、个人视角布局、团队重点筛选和当天的分组收起状态保存在当前浏览器;不会自动同步到其他设备。
|
||||
|
||||
47
resources/ai-kb/zh/concept/dashboard/team.md
Normal file
47
resources/ai-kb/zh/concept/dashboard/team.md
Normal file
@ -0,0 +1,47 @@
|
||||
---
|
||||
id: dashboard.team.concept
|
||||
title: 部门负责人仪表盘统计口径
|
||||
type: concept
|
||||
feature: dashboard
|
||||
scope: end-user
|
||||
locale: zh
|
||||
aliases:
|
||||
- 部门负责人仪表盘
|
||||
- 团队任务总览
|
||||
- 团队未完成
|
||||
- 成员任务分配
|
||||
- 优先级分布
|
||||
- 团队统计怎么算
|
||||
related_tools: []
|
||||
related_pages: [dashboard]
|
||||
prerequisites:
|
||||
- 系统已开启部门负责人视角
|
||||
- 当前用户是至少一个部门的负责人或部门管理员
|
||||
negative:
|
||||
- 团队仪表盘不统计私密任务和子任务
|
||||
- 团队仪表盘不会授予修改下属任务的权限
|
||||
- 已关闭负责人视角可见性的项目不参与统计
|
||||
last_verified: v1.8.69
|
||||
---
|
||||
|
||||
# 部门负责人仪表盘统计口径
|
||||
|
||||
## 团队范围
|
||||
部门负责人仪表盘统计所选管理部门及全部下级部门中的在职、非机器人账号。纳入项目必须由这些成员参与、未归档且允许负责人视角查看。
|
||||
|
||||
## 任务范围
|
||||
团队统计只纳入:
|
||||
|
||||
- 主任务,不统计子任务;
|
||||
- 全员可见任务,不统计私密任务;
|
||||
- 未归档、未删除任务;
|
||||
- 由范围内成员负责,或者当前没有负责人的任务。
|
||||
|
||||
## 页面指标
|
||||
- **未完成**:范围内全部未完成任务。
|
||||
- **已超期**:未完成且截止时间早于当前时刻。
|
||||
- **3 天内到期**:当前时刻到未来第 3 天结束前到期。
|
||||
- **本周完成**:本周一至下周一完成的任务,并与上周数量比较。
|
||||
|
||||
## 分布数据
|
||||
成员任务分配按超期数降序、任务总数降序排列。流程阶段分为待处理、进行中、验收/测试;没有工作流或不属于后两种状态的普通未完成任务归待处理。多负责人任务会分别计入各负责人工作量,但团队任务总数按任务去重。
|
||||
@ -22,7 +22,8 @@ negative:
|
||||
- 部门管理员不能罢免自己(只有系统管理员能罢免)
|
||||
- 部门负责人/管理员不等于系统管理员(userIsAdmin),不能进系统设置
|
||||
- 罢免部门管理员会同步把他从该部门移除并退出部门群
|
||||
last_verified: v1.7.90
|
||||
- 负责人视角只增加只读范围,不改变本人原有项目权限
|
||||
last_verified: v1.8.69
|
||||
---
|
||||
|
||||
# 部门负责人与部门管理员
|
||||
@ -44,7 +45,9 @@ last_verified: v1.7.90
|
||||
开启系统设置「部门负责人视角」后:
|
||||
- 只读查看本部门及所有下级部门成员参与的**项目**与**任务**
|
||||
- 不能修改项目设置、任务、成员
|
||||
- 通过右上角头像菜单切换到「负责人视角」选择部门,见 [[org-department.deputy-view.howto]]
|
||||
- 可在仪表盘查看团队任务总览,见 [[dashboard.team.concept]]
|
||||
- 可通过右上角头像菜单或项目列表打开项目负责人视角,见 [[org-department.deputy-view.howto]]
|
||||
- 仪表盘与项目负责人视角共用部门范围,但项目列表是否启用只读视角由独立开关控制
|
||||
- 「项目级开关」:每个项目可单独关闭"部门负责人视角可见"(`projects.department_owner_view`)
|
||||
|
||||
## 与其他概念的关系
|
||||
|
||||
@ -20,8 +20,9 @@ negative:
|
||||
- 一个部门只有一个部门负责人(owner_userid 字段,单值)
|
||||
- 部门管理员可以多人(user_department_owners 表)
|
||||
- 部门负责人不会自动获得部门成员名下任务的修改权限
|
||||
- 只有系统开启负责人视角后,才能使用团队仪表盘和项目只读视角
|
||||
- 调任 / 离职部门,要由系统管理员通过部门操作完成,用户自己不能改
|
||||
last_verified: v1.7.90
|
||||
last_verified: v1.8.69
|
||||
---
|
||||
|
||||
# 部门角色(部门负责人 / 部门管理员)
|
||||
@ -43,12 +44,16 @@ last_verified: v1.7.90
|
||||
|
||||
## 「负责人视角」能看到什么
|
||||
- 部门成员名单
|
||||
- 团队管理界面会高亮自己负责的部门
|
||||
- 仪表盘中的部门任务总览、成员任务分配、优先级分布和重点关注任务
|
||||
- 开启项目负责人视角后,只读查看所选部门及下级部门成员参与的可见项目和任务
|
||||
- 部门 OKR:只有顶级部门第一级负责人才能添加部门 OKR(`department_owner` 字段)
|
||||
|
||||
## 不会自动带来什么
|
||||
- **不自动看部门成员的任务**:部门负责人想看下属任务,仍需被加入对应项目或被加入任务可见用户
|
||||
- **不获得修改权限**:负责人视角只能只读查看额外项目和任务;本人参与项目的原权限不受影响
|
||||
- **不绕过项目限制**:项目关闭负责人视角可见性或任务为私密时,负责人身份不会强制显示
|
||||
- **不是系统管理员**:部门负责人没有团队管理、LDAP 等系统级权限
|
||||
|
||||
负责人视角的入口和部门范围规则见 [[org-department.deputy-view.howto]]。
|
||||
|
||||
## 谁能改部门角色
|
||||
只有系统管理员(admin identity)能任命 / 罢免部门负责人和部门管理员。详见 [[role-permission.entry.menu-map]]。
|
||||
|
||||
38
resources/ai-kb/zh/faq/dashboard/empty-state.md
Normal file
38
resources/ai-kb/zh/faq/dashboard/empty-state.md
Normal file
@ -0,0 +1,38 @@
|
||||
---
|
||||
id: dashboard.empty-state.faq
|
||||
title: 个人仪表盘没有任务时显示什么
|
||||
type: faq
|
||||
feature: dashboard
|
||||
scope: end-user
|
||||
locale: zh
|
||||
aliases:
|
||||
- 仪表盘空白
|
||||
- 没有任务显示什么
|
||||
- 欢迎使用 DooTask
|
||||
- 任务全部清空
|
||||
- 当前没有待处理任务
|
||||
- 新账号仪表盘
|
||||
related_tools: []
|
||||
related_pages: [dashboard]
|
||||
prerequisites: []
|
||||
negative:
|
||||
- 空状态不会用模拟任务或无关数据填充页面
|
||||
- 有任何当前任务分组时不会显示整页完成空状态
|
||||
- 初始化未完成时不会把缓存为空误判为新账号
|
||||
last_verified: v1.8.69
|
||||
---
|
||||
|
||||
# 个人仪表盘没有任务时显示什么
|
||||
|
||||
## 三种最终状态
|
||||
个人视角列表没有当前任务分组时,根据账号数据选择一种状态:
|
||||
|
||||
1. **任务全部清空**:本周有完成任务。显示「太棒了,任务全部清空」、本周完成总数和最近 5 条完成记录。
|
||||
2. **新账号欢迎**:没有项目,也没有未归档任务。显示「欢迎使用 DooTask」、创建第一个项目按钮和加入已有团队提示。
|
||||
3. **暂时空闲**:已有项目或任务历史,但当前没有待处理任务,也没有本周完成。显示「当前没有待处理任务」和新建任务按钮。
|
||||
|
||||
## 初始化过程
|
||||
首次没有缓存时,页面先等待任务初始化;只有确认初始化完成后才显示欢迎或其他空状态。已有缓存时重新进入仪表盘不会重复出现整页 Loading。
|
||||
|
||||
## 与任务分组的关系
|
||||
只要已超期、今日到期、待完成、待开始或我协助的任一列表仍有内容,就正常显示任务分组;本周完成会作为末尾分组出现,而不是显示整页“全部清空”。
|
||||
@ -1,51 +1,43 @@
|
||||
---
|
||||
id: dashboard.refresh.faq
|
||||
title: 仪表盘不刷新 / 任务变化后看不到
|
||||
title: 个人仪表盘任务变化后为什么没有立即移动
|
||||
type: faq
|
||||
feature: dashboard
|
||||
scope: end-user
|
||||
locale: zh
|
||||
aliases:
|
||||
- 仪表盘不更新
|
||||
- 任务完成了仪表盘还有
|
||||
- 仪表盘要手动刷新吗
|
||||
- 仪表盘有缓存
|
||||
- 仪表盘没数据
|
||||
- 完成任务后还在原列表
|
||||
- 本周完成少了一条
|
||||
- 仪表盘切回来不加载
|
||||
- 个人仪表盘有缓存吗
|
||||
related_tools: [list_tasks]
|
||||
related_pages: [dashboard]
|
||||
prerequisites: []
|
||||
negative:
|
||||
- 仪表盘没有手动刷新按钮,靠 600ms 防抖定时器自动刷
|
||||
- 任务字段改动是通过 WebSocket 推送进来的,掉线时可能不同步
|
||||
- 仪表盘进入页面时会立即拉一次最新数据
|
||||
last_verified: v1.7.90
|
||||
- 个人视角没有「立即刷新」按钮
|
||||
- 切回仪表盘不会在已有缓存时强制显示整页 Loading
|
||||
- 团队统计的刷新规则见 dashboard.team-refresh.faq
|
||||
last_verified: v1.8.69
|
||||
---
|
||||
|
||||
# 仪表盘不刷新 / 任务变化后看不到
|
||||
# 个人仪表盘任务变化后为什么没有立即移动
|
||||
|
||||
## 问题
|
||||
任务完成 / 改了截止时间 / 加了新任务,但仪表盘的列表 / 数字没立刻变化。
|
||||
## 现象
|
||||
在仪表盘内完成任务后,数量已经减少,但任务行仍划线保留在原分组;「本周完成」暂时还没有出现这条任务。
|
||||
|
||||
## 原因
|
||||
仪表盘的数据流是「前端 store + WebSocket 推送 + 600ms 防抖定时器」的混合:
|
||||
- 进入仪表盘页时立即拉一次任务列表
|
||||
- 后续靠 WebSocket 推送实时变化
|
||||
- 任何任务字段变更触发 `getTaskForDashboard(600)`:600 毫秒后重算分组
|
||||
这是个人视角的稳定完成区逻辑:当前页面完成的任务会暂时留在原位置,避免列表突然消失或分组跳动。任务重新进入稳定缓存后,才按 `complete_at` 进入本周完成。页面上的数量和划线状态会先根据本地任务状态更新,最终分组以服务端返回的完成时间为准。
|
||||
|
||||
但如果:
|
||||
- WebSocket 断开重连 → 期间的事件丢失
|
||||
- 浏览器后台休眠 → 定时器暂停
|
||||
- 跨标签页的修改 → 仍依赖 WebSocket 推送
|
||||
## 数据加载
|
||||
- 应用首次没有任务缓存时才显示初始化 Loading。
|
||||
- 已有缓存时切换离开再回来会直接复用页面数据,不重复显示整页 Loading。
|
||||
- 新账号会在初始化完成前后区分欢迎、Loading 和最终空状态,避免先错误显示欢迎卡。
|
||||
|
||||
可能出现仪表盘看到的与真实状态有几秒差异。
|
||||
## 排查
|
||||
1. 等待短暂同步完成。
|
||||
2. 打开任务详情确认状态已保存。
|
||||
3. 检查客户端连接是否正常。
|
||||
4. 长时间仍不一致时刷新浏览器重新获取数据。
|
||||
|
||||
## 解决
|
||||
1. **手动触发重算**:进任意其他页(如左侧栏点项目)再回仪表盘 → 强制拉新数据
|
||||
2. **刷新浏览器**(F5):彻底重拉所有 store
|
||||
3. 看右下角连接状态:若显示"已断开"等几秒待重连
|
||||
4. 确认任务确实生效:进任务详情看 complete_at / end_at 字段
|
||||
|
||||
## 不支持
|
||||
- 没有"手动刷新仪表盘"按钮
|
||||
- 没有刷新间隔配置(固定 600ms 防抖)
|
||||
- 不支持 polling 周期性拉数据,只走 WebSocket 推送
|
||||
团队视角有独立的手动刷新入口:[[dashboard.team-refresh.faq]]。
|
||||
|
||||
46
resources/ai-kb/zh/faq/dashboard/team-refresh.md
Normal file
46
resources/ai-kb/zh/faq/dashboard/team-refresh.md
Normal file
@ -0,0 +1,46 @@
|
||||
---
|
||||
id: dashboard.team-refresh.faq
|
||||
title: 团队仪表盘缓存和立即刷新
|
||||
type: faq
|
||||
feature: dashboard
|
||||
scope: end-user
|
||||
locale: zh
|
||||
aliases:
|
||||
- 团队仪表盘多久更新
|
||||
- 负责人仪表盘有缓存
|
||||
- 团队数据没更新
|
||||
- 立即刷新团队数据
|
||||
- 上次更新时间
|
||||
related_tools: []
|
||||
related_pages: [dashboard]
|
||||
prerequisites:
|
||||
- 已进入部门负责人视角
|
||||
negative:
|
||||
- 重点关注任务明细不使用 60 秒统计缓存
|
||||
- 手动刷新只刷新当前选择的部门范围
|
||||
- 个人视角没有同一个统计刷新按钮
|
||||
last_verified: v1.8.69
|
||||
---
|
||||
|
||||
# 团队仪表盘缓存和立即刷新
|
||||
|
||||
## 缓存规则
|
||||
部门负责人视角有两层统计缓存:
|
||||
|
||||
- 前端页面对四项指标、成员任务分配和优先级分布复用 60 秒;
|
||||
- 统计接口在服务端使用约 30 秒 Redis 缓存。
|
||||
|
||||
短时间切换到其他页面再回来时,如果前端缓存仍有效,会直接展示已有数据,不重复显示首次 Loading。
|
||||
|
||||
重点关注任务下方的具体任务列表不使用服务端统计缓存,切换筛选条件时会按当前条件加载任务。
|
||||
|
||||
## 查看更新时间
|
||||
在部门任务总览标题下方的日期摘要末尾,点击信息图标。弹层显示「上次更新」时间和缓存说明。
|
||||
|
||||
## 立即刷新
|
||||
1. 点击日期摘要末尾的信息图标。
|
||||
2. 点击「立即刷新」。
|
||||
3. 系统清除当前部门范围的统计缓存并重新计算。
|
||||
4. 成功后提示「刷新成功」,并自动关闭说明弹层。
|
||||
|
||||
切换团队范围也会清空当前页面统计并加载新范围。如果请求失败,页面保留原有数据并显示提示,不会把失败结果当作新缓存。
|
||||
@ -1,54 +1,38 @@
|
||||
---
|
||||
id: dashboard.assist.howto
|
||||
title: 「协助的任务」卡片用法
|
||||
title: 「我协助的」任务如何显示
|
||||
type: howto
|
||||
feature: dashboard
|
||||
scope: end-user
|
||||
locale: zh
|
||||
aliases:
|
||||
- 我协助的
|
||||
- 协助的任务
|
||||
- 我帮忙的任务
|
||||
- 协作的任务
|
||||
- 协作任务
|
||||
- assist 任务
|
||||
- 别人让我协助的
|
||||
related_tools: [list_tasks]
|
||||
related_pages: [dashboard]
|
||||
prerequisites: []
|
||||
negative:
|
||||
- 协作任务我不能直接 [[task.complete.howto]] 标记完成(仅负责人能)
|
||||
- 协作任务不计入「今日到期」「超期」「待完成」三张顶部数字卡
|
||||
- 项目转让 / 离职后该协作关系会保留,直到对方手动调整
|
||||
last_verified: v1.7.90
|
||||
- 协助任务不计入个人视角的已超期、今日到期、待完成数字
|
||||
- 协作者不是任务负责人,能否修改字段仍取决于项目和任务权限
|
||||
- 仪表盘不会把协助任务转换成负责人任务
|
||||
last_verified: v1.8.69
|
||||
---
|
||||
|
||||
# 「协助的任务」卡片用法
|
||||
# 「我协助的」任务如何显示
|
||||
|
||||
## 是什么
|
||||
仪表盘第 4 个分组列表,独立于顶部 3 张数字卡之外,展示当前用户作为**协作者**([[task.field.owner-assist.concept]] 中 `owner=0` 且 `assist=true`)参与的任务,但不是负责人。语义是「别人主任务上把我加进来一起做的活」。
|
||||
## 统计规则
|
||||
「我协助的」展示当前用户作为协作者参与、但不是负责人的未归档未完成任务,即任务关系满足 `assist=true` 且 `owner=0`。它与负责人任务分组独立,不会重复计入个人视角的已超期、今日到期或待完成数字。
|
||||
|
||||
## 数据规则
|
||||
- ProjectTaskUser 命中当前用户、owner=0(协作者标识)
|
||||
- complete_at IS NULL(任务未完成)
|
||||
- archived_at IS NULL(任务未归档)
|
||||
- deleted_at IS NULL
|
||||
## 页面信息
|
||||
- 顶部卡片显示协助任务总数。
|
||||
- 如果其中有今天到期的任务,卡片同时提示今天到期数量。
|
||||
- 列表中显示主负责人头像,帮助区分“我协助谁”。
|
||||
- 点击任务行打开任务详情。
|
||||
|
||||
## 入口
|
||||
- 桌面端:仪表盘下方第 4 个分组(在「今日到期」「超期任务」「待完成」之下)
|
||||
- 标题旁数字 = 协作任务数
|
||||
- 点标题折叠 / 展开
|
||||
## 权限说明
|
||||
协作者可以查看任务及参与沟通,但修改字段、删除任务或完成任务仍受项目权限和任务关系限制。仪表盘本身不会提升协作者权限。
|
||||
|
||||
## 操作权限
|
||||
| 行为 | 协作者(assist) | 负责人(owner=1) |
|
||||
|---|---|---|
|
||||
| 查看任务详情 | ✓ | ✓ |
|
||||
| 评论 / 发消息 | ✓ | ✓ |
|
||||
| 改任务字段 | 视项目权限规则 | ✓ |
|
||||
| 标记完成 | ✗ | ✓ |
|
||||
| 删除任务 | ✗ | 视权限 |
|
||||
|
||||
如果改不动字段,看 [[project.permission-denied-task.faq]] 排查。
|
||||
|
||||
## 不支持
|
||||
- 协作者不能完成任务
|
||||
- 协作者不能给任务再加协作者
|
||||
- 仪表盘不区分"我创建的"与"别人加我的"协作任务,全混在一起
|
||||
在列表布局中「我协助的」可以折叠;在四象限布局中它是四个固定象限之一。
|
||||
|
||||
@ -1,53 +1,39 @@
|
||||
---
|
||||
id: dashboard.collapse.howto
|
||||
title: 折叠 / 展开仪表盘分组
|
||||
title: 折叠和展开个人视角任务分组
|
||||
type: howto
|
||||
feature: dashboard
|
||||
scope: end-user
|
||||
locale: zh
|
||||
aliases:
|
||||
- 仪表盘折叠
|
||||
- 隐藏仪表盘分组
|
||||
- 隐藏协助任务
|
||||
- 仪表盘卡片折叠
|
||||
- 展开仪表盘
|
||||
- 收起待完成
|
||||
- 隐藏任务分组
|
||||
- 展开本周完成
|
||||
- 仪表盘分组记忆
|
||||
related_tools: []
|
||||
related_pages: [dashboard]
|
||||
prerequisites: []
|
||||
negative:
|
||||
- 折叠状态按当前用户独立存储,不同步到其他设备
|
||||
- 不能完全隐藏顶部 3 张数字卡(始终显示)
|
||||
- 不能调换分组顺序
|
||||
last_verified: v1.7.90
|
||||
- 分组收起状态只在列表布局中使用
|
||||
- 手动收起状态只记忆到当天,不会跨设备同步
|
||||
- 不能拖动调整分组顺序或修改分组名称
|
||||
last_verified: v1.8.69
|
||||
---
|
||||
|
||||
# 折叠 / 展开仪表盘分组
|
||||
# 折叠和展开个人视角任务分组
|
||||
|
||||
## 是什么
|
||||
仪表盘下方的 4 个分组列表([[dashboard.today.howto]] / [[dashboard.overdue.howto]] / [[dashboard.todo.howto]] / [[dashboard.assist.howto]])每个都可独立折叠或展开。状态保存在浏览器 IndexedDB 的 `dashboardHiddenColumns` 键,按当前用户独立。
|
||||
## 操作
|
||||
个人视角切换到「列表」布局后,点击任一分组标题即可收起或展开。可操作的分组包括已超期、今日到期、待完成、待开始、我协助的和本周完成。
|
||||
|
||||
## 入口
|
||||
- 桌面端:分组标题栏左侧的折叠箭头(▶ / ▼)
|
||||
- 桌面端:点分组标题文字
|
||||
- 移动端:同上
|
||||
## 默认策略
|
||||
仪表盘优先突出需要立即行动的任务:
|
||||
|
||||
## 折叠后
|
||||
- 分组标题保留(仍能看到分类名 + 数量)
|
||||
- 列表内容收起
|
||||
- 分组数量小标仍正常更新
|
||||
- 状态保存到 IndexedDB → 下次进仪表盘默认保持
|
||||
- 有已超期或今日到期任务时,「待完成」默认收起。
|
||||
- 有已超期或今日到期任务时,「待开始」默认收起。
|
||||
- 其他显示出来的分组默认展开。
|
||||
|
||||
## 展开
|
||||
- 再次点折叠箭头 / 标题 → 恢复展开
|
||||
- 状态同步更新到 IndexedDB
|
||||
## 记忆规则
|
||||
用户手动打开或收起后,该选择保存在当前浏览器并在当天优先于默认策略。日期变化后重新按默认策略计算。清除浏览器缓存、更换浏览器或更换设备不会保留这份状态。
|
||||
|
||||
## 同步规则
|
||||
- IndexedDB 存储在浏览器本地
|
||||
- 不同浏览器 / 不同设备的折叠状态各自独立
|
||||
- 清浏览器数据会丢失折叠状态(重置为全展开)
|
||||
|
||||
## 不支持
|
||||
- 不能完全删除分组(只能折叠)
|
||||
- 不能拖动调整 4 个分组的顺序
|
||||
- 不能给分组改名
|
||||
- 不支持云端同步折叠状态
|
||||
四象限布局不使用分组折叠;任务较多时通过卡片底部的展开/收起控制显示数量,详见 [[dashboard.layout.howto]]。
|
||||
|
||||
40
resources/ai-kb/zh/howto/dashboard/completed.md
Normal file
40
resources/ai-kb/zh/howto/dashboard/completed.md
Normal file
@ -0,0 +1,40 @@
|
||||
---
|
||||
id: dashboard.completed.howto
|
||||
title: 「本周完成」和近期完成如何计算
|
||||
type: howto
|
||||
feature: dashboard
|
||||
scope: end-user
|
||||
locale: zh
|
||||
aliases:
|
||||
- 本周完成
|
||||
- 近期完成
|
||||
- 最近完成的任务
|
||||
- 本周完成数量
|
||||
- 完成任务后去哪了
|
||||
related_tools: [list_tasks]
|
||||
related_pages: [dashboard]
|
||||
prerequisites: []
|
||||
negative:
|
||||
- 本周完成只统计当前用户负责的任务
|
||||
- 已归档任务不进入本周完成
|
||||
- 四象限布局不显示本周完成
|
||||
last_verified: v1.8.69
|
||||
---
|
||||
|
||||
# 「本周完成」和近期完成如何计算
|
||||
|
||||
## 周区间
|
||||
本周完成使用固定自然周:从本周一 00:00 开始,到下周一 00:00 之前结束。任务必须有完成时间 `complete_at`、当前用户是负责人且任务未归档。数量显示准确总数,不使用 `N+` 估算。
|
||||
|
||||
## 有待处理任务时
|
||||
「本周完成」作为与其他任务分类相同的分组追加在列表末尾:
|
||||
|
||||
- 默认展示最近完成的 5 条任务;
|
||||
- 可以展开其余已完成任务;
|
||||
- 点击分组标题可以收起或展开;
|
||||
- 任务按完成时间倒序排列。
|
||||
|
||||
## 当前任务全部清空时
|
||||
页面显示「太棒了,任务全部清空」和本周完成总数,并在「近期完成」区域展示最近 5 条。此时不会继续保留已超期、今日到期等空分组。
|
||||
|
||||
在当前页面刚完成的任务会先划线留在原分组,稳定同步后才进入本周完成,详见 [[dashboard.refresh.faq]]。
|
||||
40
resources/ai-kb/zh/howto/dashboard/layout.md
Normal file
40
resources/ai-kb/zh/howto/dashboard/layout.md
Normal file
@ -0,0 +1,40 @@
|
||||
---
|
||||
id: dashboard.layout.howto
|
||||
title: 切换仪表盘列表和四象限布局
|
||||
type: howto
|
||||
feature: dashboard
|
||||
scope: end-user
|
||||
locale: zh
|
||||
aliases:
|
||||
- 仪表盘列表布局
|
||||
- 仪表盘四象限
|
||||
- 怎么切换仪表盘布局
|
||||
- 任务四宫格
|
||||
- 个人视角布局
|
||||
related_tools: []
|
||||
related_pages: [dashboard]
|
||||
prerequisites: []
|
||||
negative:
|
||||
- 布局切换只适用于个人视角
|
||||
- 四象限不显示待开始和本周完成分组
|
||||
- 用户不能自定义象限名称或顺序
|
||||
last_verified: v1.8.69
|
||||
---
|
||||
|
||||
# 切换仪表盘列表和四象限布局
|
||||
|
||||
## 入口
|
||||
进入仪表盘个人视角,在右上角选择「列表」或「四象限」。所选布局保存在当前浏览器,下次进入时继续使用。
|
||||
|
||||
## 列表布局
|
||||
- 顶部显示已超期、今日到期、待完成、我协助的四张摘要卡。
|
||||
- 任务按已超期、今日到期、待完成、待开始、我协助的分组;有稳定完成记录时还会显示本周完成。
|
||||
- 普通任务分组默认展示前 10 条,本周完成默认展示最近 5 条,可展开其余任务。
|
||||
- 每个分组可独立收起,规则见 [[dashboard.collapse.howto]]。
|
||||
|
||||
## 四象限布局
|
||||
- 固定显示已超期、今日到期、待完成、我协助的四个象限。
|
||||
- 每个象限默认显示前 5 条,数量更多时可以展开其余任务,再次点击可收起。
|
||||
- 空象限会显示对应的空状态提示。
|
||||
|
||||
待开始和本周完成只出现在列表布局,不会加入四象限。
|
||||
@ -1,54 +1,40 @@
|
||||
---
|
||||
id: dashboard.overdue.howto
|
||||
title: 「超期任务」卡片用法
|
||||
title: 「已超期」任务如何计算
|
||||
type: howto
|
||||
feature: dashboard
|
||||
scope: end-user
|
||||
locale: zh
|
||||
aliases:
|
||||
- 已超期
|
||||
- 超期任务
|
||||
- 过期任务
|
||||
- 任务超期了
|
||||
- 逾期未完成
|
||||
- 超时任务
|
||||
- 为什么今天的任务已经超期
|
||||
related_tools: [list_tasks, update_task, complete_task]
|
||||
related_pages: [dashboard]
|
||||
prerequisites: []
|
||||
negative:
|
||||
- 超期判断按用户本地时间,不同时区用户看到的列表可能差几小时
|
||||
- 没有 end_at 的任务永远不会变超期,归到「待完成」分组
|
||||
- 超期不自动改任务字段,只是前端展示分类
|
||||
last_verified: v1.7.90
|
||||
- 超期按具体截止时刻判断,不是统一等到当天结束
|
||||
- 没有截止时间的任务不会超期
|
||||
- 开始时间还没到的任务不会进入个人视角已超期分组
|
||||
last_verified: v1.8.69
|
||||
---
|
||||
|
||||
# 「超期任务」卡片用法
|
||||
# 「已超期」任务如何计算
|
||||
|
||||
## 是什么
|
||||
仪表盘第 2 张数字卡和同名分组列表,展示当前用户作为负责人(owner=1)的、`end_at < 今天 00:00:00` 但 `complete_at IS NULL` 的任务。即「应该已经做完但还没做」的清单。
|
||||
## 统计规则
|
||||
个人视角「已超期」包含当前用户负责、已经开始、未归档、未完成,并且 `end_at` 小于或等于当前时间的任务。判断使用具体时刻:今天 10:00 截止的任务,在 10:00 后就会显示超期,不需要等到第二天。
|
||||
|
||||
## 数据规则
|
||||
- end_at 比今天 0 点早
|
||||
- complete_at 为空(未完成)
|
||||
- archived_at 为空(未归档)
|
||||
- 当前用户是任务负责人
|
||||
- 任务按 end_at 升序(最久没做的排最前)
|
||||
## 页面提示
|
||||
- 顶部卡片显示超期任务数和最久超期天数。
|
||||
- 点击卡片会展开超期分组并滚动到该位置。
|
||||
- 截止时间会显示「逾期 N 小时」或「逾期 N 天」。
|
||||
- 列表按截止时间排序,较早截止的任务靠前。
|
||||
|
||||
## 入口
|
||||
- 桌面端:仪表盘顶部第 2 张数字卡
|
||||
- 标题色一般用红 / 警告色
|
||||
- 点卡片 → 跳转 / 展开分组
|
||||
## 常见处理
|
||||
1. 已完成:直接更新任务状态。
|
||||
2. 仍需继续:进入任务详情修改截止时间。
|
||||
3. 不再处理:按项目权限归档或删除任务。
|
||||
|
||||
## 处理超期任务的常见做法
|
||||
1. **延期**:进任务详情把 end_at 推到合理时间,详见 [[task.edit.howto.basic]]
|
||||
2. **完成**:补做后 [[task.complete.howto]] 标记完成
|
||||
3. **取消**:归档 [[task.archive.howto]] 或删除 [[task.delete-restore.howto]]
|
||||
4. **转交**:把负责人改为他人(owner 从 1 → 0),任务从你的超期列表消失
|
||||
|
||||
## 不支持
|
||||
- 仪表盘不会"自动延期超期任务"
|
||||
- 没有"延期申请"流程,改 end_at 不需要审批
|
||||
- 不能批量改一组超期任务的 end_at
|
||||
|
||||
## 与「[[project.export.howto]] 超期导出」的关系
|
||||
- 仪表盘超期仅当前用户、跨项目
|
||||
- 项目级超期导出按项目维度全员任务,含他人任务
|
||||
仪表盘只负责分类和提示,不会自动延期,也不会自动修改任务字段。
|
||||
|
||||
40
resources/ai-kb/zh/howto/dashboard/team-focus.md
Normal file
40
resources/ai-kb/zh/howto/dashboard/team-focus.md
Normal file
@ -0,0 +1,40 @@
|
||||
---
|
||||
id: dashboard.team-focus.howto
|
||||
title: 下钻团队成员、优先级和重点关注任务
|
||||
type: howto
|
||||
feature: dashboard
|
||||
scope: end-user
|
||||
locale: zh
|
||||
aliases:
|
||||
- 重点关注任务
|
||||
- 点击成员看任务
|
||||
- 点击优先级看任务
|
||||
- 团队任务下钻
|
||||
- 未分配负责人任务
|
||||
related_tools: []
|
||||
related_pages: [dashboard]
|
||||
prerequisites:
|
||||
- 已进入部门负责人视角
|
||||
negative:
|
||||
- 本周完成卡片不能下钻到未完成任务列表
|
||||
- 重点任务列表每次加载 20 条,需要点击加载更多
|
||||
- 高优先级使用系统优先级设置中的前两档
|
||||
last_verified: v1.8.69
|
||||
---
|
||||
|
||||
# 下钻团队成员、优先级和重点关注任务
|
||||
|
||||
## 可点击区域
|
||||
- 未完成、已超期、3 天内到期卡片:定位到重点关注任务并应用对应条件。
|
||||
- 成员任务分配:点击成员,只看该成员负责的未完成任务。
|
||||
- 未分配行:只看没有负责人的任务。
|
||||
- 优先级分布:点击任一档位,只看该优先级任务。
|
||||
- 重点关注标签:已超期、3 天内到期、高优先级、未分配负责人。
|
||||
|
||||
## 成员和优先级显示
|
||||
成员列表默认显示前 6 人,可展开全部。进度条悬停约 300 毫秒后显示未完成总数、超期数量和占比,以及待处理、进行中、验收/测试三个阶段的数量与占比。
|
||||
|
||||
优先级分布只显示有任务的档位,默认前 6 项,可展开其余优先级;“未设置”会作为独立档位出现。
|
||||
|
||||
## 任务列表
|
||||
筛选后自动滚动到重点关注区域。每页加载 20 条,点击「加载更多」继续获取;点击任务行打开任务详情。通过负责人视角额外看到的任务仍然只读。
|
||||
39
resources/ai-kb/zh/howto/dashboard/team-scope.md
Normal file
39
resources/ai-kb/zh/howto/dashboard/team-scope.md
Normal file
@ -0,0 +1,39 @@
|
||||
---
|
||||
id: dashboard.team-scope.howto
|
||||
title: 选择部门负责人仪表盘的团队范围
|
||||
type: howto
|
||||
feature: dashboard
|
||||
scope: end-user
|
||||
locale: zh
|
||||
aliases:
|
||||
- 选择团队范围
|
||||
- 我的部门筛选
|
||||
- 团队仪表盘选部门
|
||||
- 负责人仪表盘切部门
|
||||
- 多部门统计
|
||||
related_tools: []
|
||||
related_pages: [dashboard, project_list]
|
||||
prerequisites:
|
||||
- 当前用户管理至少一个部门
|
||||
negative:
|
||||
- 至少选择一个部门后才能确定
|
||||
- 部门范围与项目负责人视角开关是两个独立状态
|
||||
- 范围选择保存在当前浏览器,不跨设备同步
|
||||
last_verified: v1.8.69
|
||||
---
|
||||
|
||||
# 选择部门负责人仪表盘的团队范围
|
||||
|
||||
## 仪表盘入口
|
||||
切换到「部门负责人」视角,点击右上角当前部门名称,打开「选择团队范围」。弹窗支持清空、全选、反选和逐项勾选;编辑时可以暂时清空,但没有选择任何部门时「确定」按钮不可用。
|
||||
|
||||
## 范围规则
|
||||
- 首次默认选择全部可管理部门。
|
||||
- 每个选中部门自动包含全部下级部门。
|
||||
- 从仪表盘或项目负责人视角入口修改,使用的是同一份部门范围。
|
||||
- 范围变化后,团队统计、成员分布、优先级和重点任务都会重新加载。
|
||||
|
||||
## 与项目负责人视角的关系
|
||||
项目列表拥有独立的「在项目列表中启用」开关。关闭时只显示自己的项目,但保留部门范围;仪表盘仍按该范围统计。再次开启项目负责人视角后,继续使用相同范围加载额外的只读项目。
|
||||
|
||||
项目侧完整操作见 [[org-department.deputy-view.howto]]。
|
||||
@ -1,6 +1,6 @@
|
||||
---
|
||||
id: dashboard.today.howto
|
||||
title: 「今日到期」卡片用法
|
||||
title: 「今日到期」任务如何计算
|
||||
type: howto
|
||||
feature: dashboard
|
||||
scope: end-user
|
||||
@ -10,43 +10,33 @@ aliases:
|
||||
- 今天要做的任务
|
||||
- 今日待办
|
||||
- 今天截止的任务
|
||||
- 今日任务
|
||||
- 今日任务怎么算
|
||||
related_tools: [list_tasks, complete_task]
|
||||
related_pages: [dashboard]
|
||||
prerequisites: []
|
||||
negative:
|
||||
- "「今日到期」只算今天 00:00-23:59 的 end_at,不含明天"
|
||||
- 协作任务(assist)不会出现在这里,单独走「协助的任务」
|
||||
- 完成今日任务不会立即从列表消失,需要刷新(仪表盘 600ms 后定时刷新)
|
||||
last_verified: v1.7.90
|
||||
- 已经过截止时间的今日任务会进入「已超期」,不继续算今日到期
|
||||
- 开始时间晚于当前时间的任务归入「待开始」
|
||||
- 我协助但不负责的任务单独进入「我协助的」
|
||||
last_verified: v1.8.69
|
||||
---
|
||||
|
||||
# 「今日到期」卡片用法
|
||||
# 「今日到期」任务如何计算
|
||||
|
||||
## 是什么
|
||||
仪表盘顶部「今日到期」数字 + 下方同名分组列表,展示我作为 [[task.field.owner-assist.concept]] 中 owner=1 的任务里,end_at 落在今天的、未完成、未归档的全部任务。
|
||||
## 统计规则
|
||||
个人视角的「今日到期」统计当前用户作为负责人、已经开始、未归档且未完成的任务,并同时满足:
|
||||
|
||||
## 数据规则
|
||||
- 时间范围:`今天 00:00:00 ≤ end_at ≤ 今天 23:59:59`(按用户本地时区)
|
||||
- 状态:`complete_at IS NULL` 且 `archived_at IS NULL`
|
||||
- 关系:`ProjectTaskUser.owner = 1` 命中当前用户
|
||||
- 不含子任务的统计累加(每个任务独立判断)
|
||||
- 截止时间在今天;
|
||||
- 截止时间晚于当前时间;
|
||||
- 当前用户是任务负责人 `owner=1`。
|
||||
|
||||
## 入口
|
||||
- 桌面端:仪表盘顶部第 1 张数字卡
|
||||
- 点击卡片或分组标题 → 展开 / 折叠分组
|
||||
截止时间已经到达的任务会立即归入 [[dashboard.overdue.howto]],不是等到第二天才算超期。开始时间还没到的任务进入 [[dashboard.upcoming.howto]]。
|
||||
|
||||
## 卡片中能做什么
|
||||
- 点任务行 → 进入任务详情([[task.edit.howto.basic]])
|
||||
- 行尾复选框 → 直接标记完成([[task.complete.howto]])
|
||||
- 优先级色块 / 标签可视化
|
||||
## 页面操作
|
||||
- 点击顶部「今日到期」卡片,会展开对应分组并滚动定位。
|
||||
- 点击任务行打开任务详情。
|
||||
- 点击任务状态可以直接完成或调整状态。
|
||||
- 卡片会显示今日任务中最近的截止时刻。
|
||||
|
||||
## 完成后行为
|
||||
- 标记完成后 `complete_at` 写入当前时间
|
||||
- 600ms 后仪表盘自动刷新(防抖定时器)
|
||||
- 完成项从「今日到期」列表移除,分组数字 -1
|
||||
|
||||
## 不支持
|
||||
- 不能在仪表盘里直接改 end_at(必须进任务详情)
|
||||
- 不能批量勾选完成多条任务
|
||||
- 不能筛选「只看某项目的今日到期」
|
||||
## 完成后的表现
|
||||
在当前页面完成任务后,该行会暂时保留并显示划线效果,数量立即减少;后续数据稳定后,任务按完成时间进入 [[dashboard.completed.howto]]。
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
---
|
||||
id: dashboard.todo.howto
|
||||
title: 「待完成」卡片用法
|
||||
title: 「待完成」任务如何计算
|
||||
type: howto
|
||||
feature: dashboard
|
||||
scope: end-user
|
||||
@ -15,42 +15,26 @@ related_tools: [list_tasks, update_task]
|
||||
related_pages: [dashboard]
|
||||
prerequisites: []
|
||||
negative:
|
||||
- 「待完成」既包含没设 end_at 的任务,也包含 end_at 在未来的任务
|
||||
- 协作任务(owner=0 / assist=1)不在这里,去「协助的任务」分组
|
||||
- 「待完成」数字不含子任务的累积
|
||||
last_verified: v1.7.90
|
||||
- 「待完成」不包含今天剩余时间内到期的任务
|
||||
- 开始时间晚于当前时间的任务单独归入「待开始」
|
||||
- 协助任务单独归入「我协助的」
|
||||
last_verified: v1.8.69
|
||||
---
|
||||
|
||||
# 「待完成」卡片用法
|
||||
# 「待完成」任务如何计算
|
||||
|
||||
## 是什么
|
||||
仪表盘第 3 张数字卡和同名分组列表,展示当前用户作为负责人的、**未到期 / 没截止时间**且未完成的任务。语义是「不紧急但还没做完的」。
|
||||
## 统计规则
|
||||
个人视角「待完成」包含当前用户负责、已经开始、未归档、未完成,并符合以下任一条件的任务:
|
||||
|
||||
## 数据规则
|
||||
- 当前用户是任务负责人(owner=1)
|
||||
- `complete_at IS NULL` 且 `archived_at IS NULL`
|
||||
- end_at 不在今天范围(与 [[dashboard.today.howto]] 互斥)
|
||||
- end_at 不早于今天(与 [[dashboard.overdue.howto]] 互斥)
|
||||
- 所以条件是:`end_at IS NULL` 或 `end_at >= 明天 00:00:00`
|
||||
- 没有设置截止时间;
|
||||
- 截止时间晚于今天,即明天或更晚。
|
||||
|
||||
## 入口
|
||||
- 桌面端:仪表盘顶部第 3 张数字卡
|
||||
- 数字最大的分组(多数用户的"待完成"远多于"今日到期")
|
||||
- 点击卡片或分组标题 → 展开列表
|
||||
今天尚未到截止时刻的任务进入 [[dashboard.today.howto]];已经超过截止时刻的进入 [[dashboard.overdue.howto]];开始时间还没到的进入 [[dashboard.upcoming.howto]]。
|
||||
|
||||
## 列表排序
|
||||
- end_at 升序(最近要做的排前面)
|
||||
- end_at 为空的排在最末
|
||||
## 页面操作
|
||||
- 点击顶部「待完成」卡片会滚动到待完成分组。
|
||||
- 如果存在待开始任务,卡片右侧会同时显示「待开始」数量,点击该区域定位到待开始分组。
|
||||
- 列表按截止时间升序排列,没有截止时间的任务排在后面。
|
||||
- 点击任务行打开任务详情,可补充开始时间、截止时间、负责人或优先级。
|
||||
|
||||
## 常见操作
|
||||
- 进任务详情设 end_at([[task.field.deadline.concept]])让它流到「今日到期」/「超期任务」
|
||||
- 直接 [[task.complete.howto]] 标记完成
|
||||
- 不再做了就 [[task.archive.howto]] 归档
|
||||
|
||||
## 与全局「我的任务」的区别
|
||||
- 仪表盘「待完成」:仅当前用户负责人 + 未完成 + 未在今日 / 超期
|
||||
- 全局任务列表(左侧栏「任务」):可显示已完成 + 自己创建的全部历史
|
||||
|
||||
## 不支持
|
||||
- 不能在仪表盘里直接添加新任务
|
||||
- 不能筛选 / 排序「按项目」「按优先级」(要进项目页或全局任务页操作)
|
||||
仪表盘不提供按项目或优先级重新排序待完成任务的功能。
|
||||
|
||||
40
resources/ai-kb/zh/howto/dashboard/upcoming.md
Normal file
40
resources/ai-kb/zh/howto/dashboard/upcoming.md
Normal file
@ -0,0 +1,40 @@
|
||||
---
|
||||
id: dashboard.upcoming.howto
|
||||
title: 「待开始」任务如何计算
|
||||
type: howto
|
||||
feature: dashboard
|
||||
scope: end-user
|
||||
locale: zh
|
||||
aliases:
|
||||
- 待开始任务
|
||||
- 还没开始的任务
|
||||
- 未来开始的任务
|
||||
- 为什么任务不在待完成
|
||||
- start_at 任务
|
||||
related_tools: [list_tasks, update_task]
|
||||
related_pages: [dashboard]
|
||||
prerequisites: []
|
||||
negative:
|
||||
- 待开始只显示在个人视角的列表布局
|
||||
- 协助任务不按待开始规则拆分
|
||||
- 到达开始时间后任务会重新归入已超期、今日到期或待完成
|
||||
last_verified: v1.8.69
|
||||
---
|
||||
|
||||
# 「待开始」任务如何计算
|
||||
|
||||
## 统计规则
|
||||
「待开始」包含当前用户负责、未归档、未完成,并且开始时间 `start_at` 晚于当前时间的任务。它用于把尚未进入执行期的任务与当前可处理任务分开。
|
||||
|
||||
任务到达开始时间后,会根据截止时间重新分类:
|
||||
|
||||
- 截止时间已到:进入 [[dashboard.overdue.howto]]。
|
||||
- 今天稍后截止:进入 [[dashboard.today.howto]]。
|
||||
- 没有截止时间或明天以后截止:进入 [[dashboard.todo.howto]]。
|
||||
|
||||
## 页面位置
|
||||
- 待完成摘要卡右侧会显示待开始数量。
|
||||
- 点击该数量会展开待开始分组并滚动定位。
|
||||
- 列表按开始时间升序排列,较早开始的任务靠前。
|
||||
|
||||
「待开始」只存在于列表布局;四象限布局不单独展示该分类。
|
||||
@ -1,6 +1,6 @@
|
||||
---
|
||||
id: org-department.deputy-view.howto
|
||||
title: 切换到部门负责人视角
|
||||
title: 设置项目负责人视角和共用部门范围
|
||||
type: howto
|
||||
feature: org-department
|
||||
scope: end-user
|
||||
@ -8,53 +8,45 @@ locale: zh
|
||||
aliases:
|
||||
- 负责人视角
|
||||
- 部门负责人视角
|
||||
- 项目负责人视角
|
||||
- 看下属项目
|
||||
- 看部门成员项目
|
||||
- 切换部门视角
|
||||
- 怎么查看下属任务
|
||||
- 主管视角
|
||||
related_tools: []
|
||||
related_pages: []
|
||||
related_pages: [dashboard, project_list]
|
||||
prerequisites:
|
||||
- 当前用户是某部门的部门负责人(owner_userid)或部门管理员(deputy)
|
||||
- 系统管理员已在系统设置中开启「部门负责人视角」(`department_owner_project_view = open`)
|
||||
- 当前用户是某部门的部门负责人或部门管理员
|
||||
- 系统管理员已开启部门负责人视角
|
||||
negative:
|
||||
- 没开启系统开关时,`info/managed_departments` 接口固定返回空数组,前端不显示入口
|
||||
- 仅"只读"视角;不能修改项目、添加成员、改任务
|
||||
- 项目可单独关闭"部门负责人视角可见"(`projects.department_owner_view = close`),关闭后对负责人隐藏
|
||||
- 用户在多个部门同时管理时,弹窗会列出所有可切换部门,可多选或全选
|
||||
- 视角不持久跨多设备,是当前会话的偏好(保存在 `cacheDepartmentOwnerIds`)
|
||||
last_verified: v1.7.90
|
||||
- 项目负责人视角只能只读查看额外项目,不授予修改权限
|
||||
- 项目可单独关闭负责人视角可见性,关闭后不会被纳入
|
||||
- 没有选择任何部门时不能保存范围
|
||||
- 部门范围和项目列表开关保存在当前浏览器,不跨设备同步
|
||||
last_verified: v1.8.69
|
||||
---
|
||||
|
||||
# 切换到部门负责人视角
|
||||
# 设置项目负责人视角和共用部门范围
|
||||
|
||||
## 入口
|
||||
- 桌面端:右上角头像菜单 → 顶部「负责人视角」入口(仅当 `managed_departments` 非空时出现)
|
||||
- 接口(拉可管理部门):`GET api/users/info/managed_departments`
|
||||
- 接口(应用偏好):`store.dispatch("setDepartmentOwnerIds", ids)`
|
||||
- 右上角头像菜单 →「负责人视角」。
|
||||
- 项目列表搜索栏旁的负责人视角按钮。
|
||||
- 仪表盘「部门负责人」视角 → 右上角部门名称;该入口只选择团队范围。
|
||||
|
||||
## 操作步骤
|
||||
1. 点击右上角头像 → 「负责人视角」
|
||||
2. 弹窗显示我可管理的部门清单
|
||||
3. 勾选要"切入"的部门(可多选 / 全选 / 反选 / 清空)
|
||||
4. 点击「确定」生效
|
||||
## 项目负责人视角
|
||||
从菜单或项目列表打开「项目负责人视角」弹窗:
|
||||
|
||||
## 切换后效果
|
||||
- 项目列表:除自己参与的项目外,新增可见所选部门成员参与的项目(标记 `department_readonly=true`)
|
||||
- 任务列表:可只读浏览这些项目的全员可见任务
|
||||
- 仪表盘 / 报表:相关聚合数据会把这些部门成员纳入统计范围
|
||||
- 退出视角:再次打开弹窗 → 「清空」→「确定」
|
||||
1. 打开「在项目列表中启用」开关。
|
||||
2. 选择一个或多个管理部门。
|
||||
3. 点击「确定」。
|
||||
|
||||
## 接口数据来源
|
||||
- 我可管理的部门 = 我是 `owner_userid` 的部门 ∪ 我在 `user_department_owners` 表的部门
|
||||
- 实际看到的项目 = 上述部门**递归全部下级**的成员所在项目(不含已关闭"部门负责人视角可见"的项目)
|
||||
开启后,项目列表会出现「我的项目 / 负责人视角」分类:前者保留本人项目,后者显示所选部门及全部下级部门成员参与的额外可见项目。额外项目标记为只读;本人原本参与的项目权限不受影响。关闭开关后只显示自己的项目,但部门范围会保留,部门列表在关闭状态下隐藏。
|
||||
|
||||
## 不支持
|
||||
- 视角无法修改下属数据,所有操作按钮在 readonly 项目内会被隐藏或禁用
|
||||
- 不能查看下属"全员不可见"的私密任务
|
||||
- 系统未开启开关时本功能完全不可用
|
||||
## 部门范围
|
||||
仪表盘和项目负责人视角共用同一份范围。弹窗支持清空、全选、反选和逐项选择;清空只是编辑中的临时状态,至少选中一个部门才能确定。修改范围时,项目视角开关不会被仪表盘入口自动打开或关闭。
|
||||
|
||||
## 相关
|
||||
- 角色定义:[[org-department.deputy.concept]]
|
||||
- 任命部门管理员:[[org-department.add-deputy.howto]]
|
||||
## 可见性限制
|
||||
- 仅包含未归档且允许负责人视角查看的项目。
|
||||
- 私密任务不会因为负责人身份自动可见。
|
||||
- 通过负责人视角看到的项目和任务不允许修改。
|
||||
|
||||
团队统计范围见 [[dashboard.team-scope.howto]]。
|
||||
|
||||
@ -19,14 +19,14 @@ negative:
|
||||
- 个人项目(personal=1)每个用户只能有 1 个
|
||||
- 项目名称必填,≤100 字符
|
||||
- 创建时启用工作流后无法再回退到「无工作流」模式
|
||||
last_verified: v1.7.90
|
||||
last_verified: v1.8.69
|
||||
---
|
||||
|
||||
# 创建项目
|
||||
|
||||
## 入口
|
||||
- 桌面端:左侧栏「项目」分组顶部「+」按钮 → 弹窗
|
||||
- 桌面端:仪表盘空状态 → 「+ 新建项目」
|
||||
- 桌面端:新账号仪表盘欢迎空状态 → 「创建第一个项目」
|
||||
- 移动端:项目 Tab → 右上角「+」
|
||||
|
||||
## 操作步骤
|
||||
|
||||
@ -10,38 +10,34 @@ aliases:
|
||||
- 怎么进仪表盘
|
||||
- 我的工作台
|
||||
- 主页在哪
|
||||
- 首页入口
|
||||
- 团队仪表盘在哪
|
||||
- 部门任务总览在哪
|
||||
related_tools: [list_tasks]
|
||||
related_pages: [dashboard]
|
||||
prerequisites: []
|
||||
negative:
|
||||
- 仪表盘是登录后默认页之一,无单独权限
|
||||
- 移动端有专属的"我"Tab,与桌面端仪表盘内容相近但布局不同
|
||||
- 仪表盘内容是当前用户私有,不能切换查别人的
|
||||
last_verified: v1.7.90
|
||||
- 普通成员看不到「部门负责人」切换
|
||||
- 仪表盘没有独立的权限配置,登录用户都能使用个人视角
|
||||
- 部门负责人视角不会让用户获得系统管理员权限
|
||||
last_verified: v1.8.69
|
||||
---
|
||||
|
||||
# 仪表盘入口在哪
|
||||
|
||||
## 路径
|
||||
- **桌面端**:左侧栏顶部「仪表盘」菜单项(路由 `/manage/dashboard`)
|
||||
- **桌面端**:登录默认页之一,多数用户进站后自动落到此页
|
||||
- **桌面端 URL**:`https://<域名>/manage/dashboard`
|
||||
- **移动端**:底部 Tabbar 的「我」Tab(功能近似仪表盘)
|
||||
- **桌面快捷键**:无直达快捷键
|
||||
- 桌面端:左侧栏顶部「仪表盘」。
|
||||
- 页面路由:`/manage/dashboard`。
|
||||
- 移动端:通过底部导航进入仪表盘页面,布局会随屏幕宽度适配。
|
||||
- 桌面快捷键:没有直达仪表盘的默认快捷键。
|
||||
|
||||
## 谁能看到
|
||||
- 所有登录用户都能看到仪表盘
|
||||
- 内容是当前用户私有(自己名下任务、自己负责的任务)
|
||||
- 站点管理员看到的也是自己的视图,不能切换查他人
|
||||
## 进入后看到什么
|
||||
- 所有登录用户默认可使用个人视角,查看自己负责和协助的任务。
|
||||
- 个人视角右上角可以切换「列表 / 四象限」。
|
||||
- 符合部门负责人条件时,右上角增加「个人视角 / 部门负责人」切换。
|
||||
- 部门负责人视角顶部的部门按钮可打开「选择团队范围」弹窗。
|
||||
|
||||
## 主要内容
|
||||
仪表盘展示当前用户「今日要做什么」的快速视图,详见 [[dashboard.concept]]:
|
||||
- 顶部三个数字卡片:今日到期、超期任务、待完成
|
||||
- 下方四个分组列表:今日到期 / 超期 / 待完成 / 协助的任务
|
||||
- 每个分组可折叠展开
|
||||
## 部门负责人视角出现条件
|
||||
1. 系统设置 `department_owner_project_view` 已开启。
|
||||
2. 当前用户是至少一个部门的负责人或部门管理员。
|
||||
|
||||
## 不支持
|
||||
- 不能给团队 / 部门展示统一的"团队仪表盘"
|
||||
- 不能切换"看某成员的仪表盘"
|
||||
- 不能把仪表盘嵌入其他页面 / 桌面小组件
|
||||
详细界面说明见 [[dashboard.concept]],部门范围规则见 [[dashboard.team-scope.howto]]。
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
---
|
||||
id: menu-navigation.dashboard.menu-map
|
||||
title: 仪表盘入口在哪
|
||||
title: 仪表盘导航入口
|
||||
type: menu-map
|
||||
feature: menu-navigation
|
||||
scope: end-user
|
||||
@ -10,33 +10,28 @@ aliases:
|
||||
- 工作台入口
|
||||
- 首页在哪
|
||||
- 主页怎么进
|
||||
- 团队仪表盘入口
|
||||
related_tools: [list_tasks]
|
||||
related_pages: [dashboard]
|
||||
prerequisites: []
|
||||
negative:
|
||||
- 仪表盘内容是个人私有,不能切换查别人的
|
||||
- 没有"团队仪表盘",团队维度需要走「数据导出」
|
||||
last_verified: v1.7.90
|
||||
- 普通成员不能切换到部门负责人视角
|
||||
- 部门负责人视角只提供团队任务只读总览
|
||||
last_verified: v1.8.69
|
||||
---
|
||||
|
||||
# 仪表盘入口在哪
|
||||
# 仪表盘导航入口
|
||||
|
||||
## 路径
|
||||
- 桌面端:左侧栏顶部「仪表盘」(路由 `/manage/dashboard`)
|
||||
- 桌面端:登录后多数账号默认落到仪表盘
|
||||
- 移动端:底部 Tabbar「仪表盘」Tab
|
||||
- 桌面 URL:`https://<域名>/manage/dashboard`
|
||||
- 快捷键:无
|
||||
- 桌面端:左侧主导航 →「仪表盘」。
|
||||
- 路由:`/manage/dashboard`。
|
||||
- 移动端:底部导航 → 仪表盘页面。
|
||||
- 快捷键:无。
|
||||
|
||||
## 看到什么
|
||||
- 顶部三个数字卡片:今日到期、超期、待完成
|
||||
- 下方四个分组:今日 / 超期 / 待完成 / 协助
|
||||
- 「我的项目」卡片
|
||||
## 页面内容
|
||||
- 个人视角:已超期、今日到期、待完成、待开始、我协助的、本周完成。
|
||||
- 个人视角布局:列表或四象限。
|
||||
- 部门负责人视角:团队指标、成员任务分配、优先级分布、重点关注任务。
|
||||
|
||||
## 权限要求
|
||||
- 所有登录用户可见
|
||||
- 内容是当前用户私有视角
|
||||
|
||||
## 相关
|
||||
- 详细界面:[[dashboard.entry.menu-map]]
|
||||
- 各分组用法:[[dashboard.today.howto]] / [[dashboard.overdue.howto]]
|
||||
## 权限
|
||||
所有登录用户可访问个人视角。系统开启负责人视角且用户管理至少一个部门时,才显示「部门负责人」切换。详细说明见 [[dashboard.entry.menu-map]]。
|
||||
|
||||
@ -17,14 +17,15 @@ negative:
|
||||
- 默认列表只显示我加入的项目,未加入项目不显示
|
||||
- 已归档项目要切到「已归档」筛选
|
||||
- 不支持申请加入未加入的项目
|
||||
last_verified: v1.7.90
|
||||
- 仪表盘没有固定的「我的项目」卡片
|
||||
last_verified: v1.8.69
|
||||
---
|
||||
|
||||
# 我的项目入口在哪
|
||||
|
||||
## 路径
|
||||
- 桌面端:左侧栏 →「项目」分组(默认展开),所有我加入的项目按置顶 + 自定义顺序排列
|
||||
- 桌面端:左侧栏顶部「仪表盘」→「我的项目」卡片
|
||||
- 桌面端:进入项目列表页,可搜索和切换项目
|
||||
- 桌面端:头像下拉(管理员)→「所有项目」可看全站
|
||||
- 移动端:底部 Tabbar「项目」Tab
|
||||
- 桌面快捷键:Cmd/Ctrl + P 唤起项目快搜
|
||||
@ -33,6 +34,7 @@ last_verified: v1.7.90
|
||||
- 「我加入的」(默认)
|
||||
- 「全部」:仅站点管理员可见
|
||||
- 「已归档」:archived_at 非空的
|
||||
- 部门负责人开启项目负责人视角后:增加「我的项目 / 负责人视角」分类
|
||||
|
||||
## 权限要求
|
||||
- end-user 默认看到自己加入的项目
|
||||
|
||||
@ -16,22 +16,22 @@ prerequisites: []
|
||||
negative:
|
||||
- 没有「我的任务」一级菜单,它由仪表盘 + 日历 + 各项目内分布呈现
|
||||
- 不支持跨项目按截止时间统一排序(除日历视图外)
|
||||
last_verified: v1.7.90
|
||||
last_verified: v1.8.69
|
||||
---
|
||||
|
||||
# 我的任务入口在哪
|
||||
|
||||
## 路径
|
||||
- 桌面端:左侧栏「仪表盘」→「今日 / 超期 / 待完成 / 协助」四个分组都是我的任务
|
||||
- 桌面端:左侧栏「仪表盘」→ 个人视角;列表布局包含已超期、今日到期、待完成、待开始、我协助的、本周完成
|
||||
- 桌面端:左侧栏「日历」→ 我作为负责人的任务按时间显示
|
||||
- 桌面端:进入任意项目 → 顶部筛选切到「我负责的」/「我协助的」
|
||||
- 移动端:底部 Tabbar「仪表盘」→ 同样的四组
|
||||
- 移动端:底部导航 → 仪表盘个人视角
|
||||
- 移动端:日历 Tab(管理员菜单内)
|
||||
- 快捷键:无
|
||||
|
||||
## 怎么算"我的任务"
|
||||
- 负责人(owner)含我的全部任务
|
||||
- 协助人(assist)含我的任务也算
|
||||
- 负责人任务按开始时间、截止时间和完成时间分到对应仪表盘分组
|
||||
- 协助人任务单独进入「我协助的」
|
||||
- 不包括只关注 / 抄送的任务
|
||||
|
||||
## 权限要求
|
||||
|
||||
@ -18,14 +18,15 @@ negative:
|
||||
- 已归档项目默认不在主列表,要在筛选切到「已归档」
|
||||
- 已删除项目仅在回收站可见
|
||||
- 个人项目([[project.personal.concept]])也在同一列表,按类型筛选
|
||||
last_verified: v1.7.90
|
||||
- 仪表盘不再提供固定的「我的项目」卡片,新账号空状态只提供创建第一个项目入口
|
||||
last_verified: v1.8.69
|
||||
---
|
||||
|
||||
# 项目入口在哪
|
||||
|
||||
## 路径
|
||||
- **桌面端**:左侧栏 → 「项目」分组 → 单击展开项目列表
|
||||
- **桌面端仪表盘**:顶部「我的项目」卡片
|
||||
- **桌面端仪表盘**:新账号没有项目时,可从欢迎空状态点击「创建第一个项目」
|
||||
- **桌面端右上「+」全局快捷**:「+ 添加项目」直接建项目([[project.create.howto]])
|
||||
- **移动端**:底部 Tabbar → 「项目」Tab
|
||||
- **桌面快捷键**:Cmd/Ctrl + P 唤起项目快搜
|
||||
@ -35,6 +36,7 @@ last_verified: v1.7.90
|
||||
- 项目类型标签(团队 / 个人)
|
||||
- 任务进度(X/Y 完成)
|
||||
- 置顶项目排在前面(top_at DESC)
|
||||
- 部门负责人开启项目负责人视角后,显示「我的项目 / 负责人视角」分类,额外项目只读
|
||||
|
||||
## 默认筛选
|
||||
- 「我加入的」(默认):仅显示 ProjectUser 命中你的
|
||||
@ -46,6 +48,7 @@ last_verified: v1.7.90
|
||||
- 任何登录用户都能看到项目入口
|
||||
- 看到具体项目要求你已加入(ProjectUser),管理员可见全部
|
||||
- 加入项目方式:[[project.member.howto]] 被加 / [[project.invite.howto]] 链接邀请
|
||||
- 部门负责人只读项目:[[org-department.deputy-view.howto]]
|
||||
|
||||
## 不支持
|
||||
- 没有"未加入的可申请项目"列表,无法主动申请加入
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user