Commit Graph

125 Commits

Author SHA1 Message Date
Script Generator
92e230d303 merge: 合并功能分支全部改动到 master
# Conflicts:
#	docs/decisions.md
2026-06-30 11:02:37 +08:00
Script Generator
1cd595c42e feat(版本详情): 完善流程日志与需求覆盖 2026-06-30 11:00:07 +08:00
Script Generator
4eaae44f56 merge: 合并小宝预警到 master
# Conflicts:
#	apps/web/lib/xiaobao-risk-trend.test.ts
#	apps/web/lib/xiaobao-risk.ts
#	docs/decisions.md
2026-06-30 10:45:31 +08:00
Script Generator
85ec416bc2 feat(小宝预警): 调整风险列表布局和导航徽标 2026-06-30 10:23:01 +08:00
Script Generator
0ca13d406c fix(小宝预警): 稳定AI建议缓存签名 2026-06-30 10:03:12 +08:00
Script Generator
eb9996a987 fix(小宝预警): 等待缓存加载后再触发AI建议 2026-06-30 09:56:45 +08:00
Script Generator
4cecf2d77a fix(小宝预警): 过滤无效页面刷新建议 2026-06-30 09:44:41 +08:00
Script Generator
50e76c8068 fix(小宝预警): 剩余工作量展示天数换算 2026-06-30 09:35:47 +08:00
Script Generator
bf4b32f17d fix(小宝预警): 增加快照节流和 AI cooldown 2026-06-30 09:28:12 +08:00
Script Generator
f8db9aa384 feat(小宝预警): 自动生成 AI 风险解读 2026-06-29 19:56:11 +08:00
Script Generator
cf02ce9266 feat(小宝预警): 增加预警页面 2026-06-29 19:51:37 +08:00
Script Generator
94a038494a feat(小宝预警): 增加 AI 解读触发策略 2026-06-29 19:50:33 +08:00
Script Generator
b11830278c fix(小宝预警): 合并远端风险缓存 2026-06-29 18:44:59 +08:00
Script Generator
db72a420f5 feat(小宝预警): 增加趋势与解读缓存 2026-06-29 18:37:39 +08:00
Script Generator
dda453ab5d fix(小宝预警): 修正趋势快照 Bug 计数 2026-06-29 18:23:04 +08:00
Script Generator
b7d48f66aa feat(版本详情): 完善任务流程与风险预警 2026-06-29 18:14:22 +08:00
Script Generator
b48a7e2049 feat(小宝预警): 增加日报证据与风险趋势 2026-06-29 18:05:58 +08:00
Script Generator
585316d1cf fix(小宝预警): 接入静默风险证据 2026-06-29 17:49:52 +08:00
Script Generator
ffe7001b42 fix(小宝预警): 透传风险日报证据 2026-06-29 17:42:06 +08:00
Script Generator
7b3638c915 feat(小宝预警): 增加版本风险预测引擎 2026-06-29 17:35:45 +08:00
Script Generator
ea360c74d6 fix(小宝预警): 限定角色权限迁移范围 2026-06-29 17:22:12 +08:00
Script Generator
46a002f817 feat(小宝预警): 增加权限与数据键 2026-06-29 17:13:54 +08:00
Script Generator
7f24e16491 feat(ai): 优化拆解目标和负责人推荐 2026-06-29 16:19:52 +08:00
Script Generator
0e27a4d4c5 fix(加班): 统一日期选择与耗时口径 2026-06-29 15:42:49 +08:00
Script Generator
8a1726c426 feat(需求池): 调整需求池布局与详情展示 2026-06-29 15:07:07 +08:00
Script Generator
aa6970876a fix(工时): 按中国工作日历统计正常耗时 2026-06-29 15:04:32 +08:00
Script Generator
47f41c3e40 fix(workspace): 修复今日日报刷新后丢失 2026-06-29 14:39:41 +08:00
Script Generator
0f64a17d44 feat(版本详情): 接入计划时间与日期选择 2026-06-29 14:18:58 +08:00
Script Generator
4278e4d565 feat(workspace): 增加工作活动日报引擎 2026-06-26 17:17:35 +08:00
Script Generator
64491789ae feat(version): 增加参与人员AI推荐 2026-06-26 17:07:09 +08:00
Script Generator
662154ca92 feat(workspace): 增加个人今日日报列 2026-06-26 16:04:48 +08:00
Script Generator
6f13ff325b docs(format): 修正本地日期注释 2026-06-26 15:50:30 +08:00
Script Generator
d9b0236d1c fix(workspace): 使用本地日期生成今日日报 2026-06-26 15:43:31 +08:00
Script Generator
b5ac0a2d47 feat(version): 优化参与人员添加体验 2026-06-26 15:33:07 +08:00
Script Generator
2d802318fa feat(版本详情): 优化任务统计与测试轮次 2026-06-26 15:12:24 +08:00
Script Generator
6b965429ce feat(workspace): 添加个人日报派生逻辑 2026-06-26 14:40:37 +08:00
Script Generator
4dcdad50c3 feat(产品方案): 优化计划卡片展示和排序 2026-06-26 14:05:01 +08:00
Script Generator
dde7a9a623 fix(version): 修正概览耗时与排名统计 2026-06-26 13:06:22 +08:00
Script Generator
4cda624dc7 fix(账号): 固化超级管理员身份 2026-06-26 11:18:00 +08:00
Script Generator
56e0fe562d feat(ai): 优化拆解重跑与结果展示 2026-06-26 11:01:11 +08:00
Script Generator
55e24442ab fix(任务): 修复快速创建导致的重复ID 2026-06-25 18:03:53 +08:00
Script Generator
5adc7759ad feat(平台): 补齐服务端持久化和AI拆解契约 2026-06-25 15:21:32 +08:00
Script Generator
88acf30296 feat(AI): 增加严格估时策略 2026-06-25 14:50:43 +08:00
Script Generator
125057ea55 feat(Bug): 状态流转接入单条工作流 2026-06-25 14:47:28 +08:00
Script Generator
c617625a99 feat(测试用例): 状态流转接入单条工作流 2026-06-25 14:13:32 +08:00
Script Generator
52833d81ac feat(开发任务): 状态流转接入单条工作流 2026-06-25 14:04:45 +08:00
Script Generator
168c748835 feat(工时): 增加通用工时汇总引擎 2026-06-25 13:59:09 +08:00
Script Generator
c2f2fed82c feat: 加班/版本/项目调整 + 角色权限设计
加班记录:
- 加班人默认回显当前用户且不可改
- 列表加创建日期列
- 移除编辑功能(创建即提交,仅可删除)
- 提交时校验结束>开始

版本列表:
- 移除顶部 9 个状态 tab + 表格状态列
- 仅保留搜索、项目、优先级筛选

项目列表:
- 行内显示进度未达 100% 的版本(与版本页同源算法)
- 新增 lib/version-progress.ts 抽出公共进度计算

角色权限:
- RoleItem 加 permissions 字段
- 新建 lib/permissions.ts: 14 组 37 个权限点 + 默认 5 角色映射 + hasPermission
- 角色表单内嵌权限矩阵(主模块 4 件套 + Tab 二档 + Bug Tab 4 档)+ 全选/反选/仅查看快捷
- 新建 components/auth/Guard.tsx: RouteGuard + PermissionGuard + useHasPermission + AccessDenied
- Sidebar 菜单按 view 权限过滤
- 7 个主路由(products/projects/versions/requirements/overtime/admin/members/roles)包 RouteGuard
- 版本详情 Tab 按 view 权限过滤,自动跳转到第一个有权限的 Tab
- 默认未登录/无角色按只读最严格
- 超管 role-admin: ['*'] 通配符,permissions 不可改

通用:
- 新建 components/FieldError.tsx 统一表单错误文案
- PlanTab 提交时校验结束>开始

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-16 19:15:28 +08:00
Script Generator
1f5bed0c79 feat: 开发任务时间字段重构 + 双口径耗时 + 搜索 + 性能优化
核心变更:
- DevTask 字段重构:startDate/dueDate/estimateHours/actualHours 替换为 expectedStartAt/expectedEndAt/actualStartAt/actualEndAt(含时分),预计/实际工时按工作时段(9:00-12:00 + 13:00-18:00)派生计算
- 状态机自动化:到点自动切开发中、未到可手动开干、超期需填延后原因
- 新建 lib/work-hours.ts:calcWorkHours(工作时段过滤)、formatWorkHours(X h(Y 天))、calcTwoMetrics(日历/人力双口径)
- 新建 lib/dev-task-transitions.ts:状态切换守卫
- 三个 Tab 顶部统计:开发任务(预/日历/人力)、测试用例 / Bug(日历 / 人力);版本概览总人天投入改双行(日历总耗时 / 人力总投入)
- 三个 Tab 加搜索框:300ms debounce + 标题/编号模糊匹配
- 性能优化:requirementIds/categories/requirements/testCases 转 Map/Set 索引、Row 组件 React.memo
- 全局耗时显示统一带天数换算:8h(1天)、11h(1.4天)

新增文件: SearchInput.tsx, useDebouncedValue.ts, work-hours.ts, dev-task-transitions.ts, 设计文档

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-16 17:44:59 +08:00
Script Generator
4ac0dab4c5 fix: 时间显示统一使用本地时区(修复UTC显示问题)
之前 ISO 时间戳直接 slice(0, 16).replace('T', ' ') 显示 UTC 时间
(北京时间晚 8 小时),现统一用 formatDateTime 转本地时区。

新增 lib/format.ts:
- formatDateTime(iso) → YYYY-MM-DD HH:mm(本地时区)
- formatDate(iso) → YYYY-MM-DD(本地时区)
- formatDateTimeShort(iso) → MM-DD HH:mm(本地时区)

替换文件:
- versions/[id]/page.tsx (实际开始/截止)
- workspace/page.tsx (计划任务时间)
- BugDetailDrawer.tsx (基本信息+操作日志)
- TestCaseDetailDrawer.tsx (执行时间)
- DevTaskDetailDrawer.tsx (开始/提测时间)
- PlanDetailDrawer.tsx (计划/实际/完成时间)
- PlanTab.tsx (计划任务列表时间)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-16 14:15:20 +08:00