。
|
7677fd0d71
|
merge: 集成V2.6 性能增强与小宝后台化
# Conflicts:
# apps/server/prisma/schema.prisma
# apps/server/src/app.module.ts
# apps/web/components/layout/Sidebar.tsx
# docs/architecture.md
# docs/decisions.md
# docs/roadmap.md
|
2026-07-08 18:04:39 +08:00 |
|
。
|
15653b5b35
|
feat(ops): 增加运行时性能看板
|
2026-07-08 17:47:36 +08:00 |
|
。
|
988d659fcc
|
feat(admin): 增加审计与一致性页面
|
2026-07-08 17:05:16 +08:00 |
|
Script Generator
|
dc780e4c7d
|
feat(deploy): 接入全自动生产发布校验
|
2026-07-06 14:45:44 +08:00 |
|
。
|
8d61bb7c13
|
fix(version): 限制任务需求候选为版本已关联需求
|
2026-07-06 11:44:50 +08:00 |
|
Script Generator
|
b4a3c990b4
|
fix(data): 增加全局保存失败保护
|
2026-07-03 19:36:18 +08:00 |
|
Script Generator
|
a509bb4922
|
perf(web): 优化大数据量页面切换与聚合性能
|
2026-07-03 09:43:36 +08:00 |
|
Script Generator
|
68b768788b
|
fix(ai): 收紧AI任务类型入库规则
|
2026-07-02 18:19:34 +08:00 |
|
Script Generator
|
a39dde3824
|
fix(ai): 自动追加AI任务类型
|
2026-07-02 18:01:38 +08:00 |
|
Script Generator
|
916bd17a48
|
fix(data): 清理旧数据并保护服务端写入
|
2026-07-02 09:30:50 +08:00 |
|
Script Generator
|
d2a07b0da2
|
feat(小宝): 优化助手入口与预警已读
关键改动:
- 更新 README 项目说明和小宝相关入口命名
- 优化问翻小宝页面与侧边栏测试
- 小宝预警已读状态抑制同签名重复 AI 请求
Co-Authored-By: Codex GPT-5 <codex@openai.com>
|
2026-07-01 13:35:52 +08:00 |
|
Script Generator
|
756621d366
|
fix(ai): 拆解原型无需求ID任务
|
2026-07-01 13:33:04 +08:00 |
|
Script Generator
|
24e8635a94
|
fix(ai): 保留拆解生成结果
|
2026-07-01 13:05:51 +08:00 |
|
Script Generator
|
8947aeaac7
|
feat(工作台): 细化计划进展工时证据
关键改动:
- 支持需求覆盖和调研方向开始工作记录
- 日报按计划记录开始时间和进度下次开始时间计算证据
- 更新版本编辑校验、项目展示和 workflow 说明
Co-Authored-By: Codex GPT-5 <codex@openai.com>
|
2026-07-01 11:02:38 +08:00 |
|
Script Generator
|
846bf9e8d1
|
feat(问翻小宝): 增加静态入口页面
关键改动:
- 新增问翻小宝页面,包含历史记录、对话和语音输入区域
- 在侧边栏加入独立入口并放在小宝预警之前
- 增加页面结构和导航顺序测试
Co-Authored-By: Codex GPT-5 <codex@openai.com>
|
2026-06-30 19:10:41 +08:00 |
|
Script Generator
|
eef3c8f000
|
feat(版本): 优化概览与只读状态
关键改动:
- 增加需求排序和版本只读状态规则及测试
- 完善版本概览阶段耗时、项目页和工作台展示
- 优化小宝预警请求节流、建议状态和风险过滤
Co-Authored-By: Codex GPT-5 <codex@openai.com>
|
2026-06-30 18:18:18 +08:00 |
|
Script Generator
|
3d3d56697a
|
feat(版本): 完善研发计划与预警已读
关键改动:
- 增加版本表单、发布校验和调研方向进度规则
- 扩展小宝预警已读状态、风险签名和今日证据
- 补充组长权限、加班查看范围、活动记录与相关测试
Co-Authored-By: Codex GPT-5 <codex@openai.com>
|
2026-06-30 16:48:58 +08:00 |
|
Script Generator
|
04520bd8c5
|
feat(版本): 记录计划需求进展活动
关键改动:
- 记录产品/UI 计划需求覆盖进展,并写入工作活动与实体日志
- 日报和小宝预警补充需求进展活动证据
- 调整版本列表与需求覆盖面板展示,并补充测试
Co-Authored-By: Codex GPT-5 <codex@openai.com>
|
2026-06-30 15:35:36 +08:00 |
|
Script Generator
|
b365ce65a3
|
fix(小宝预警): 保证建议不为空并显示更新中
|
2026-06-30 14:55:13 +08:00 |
|
Script Generator
|
1daa2f7ec4
|
feat(小宝预警): 同步今日日报证据
|
2026-06-30 14:43:06 +08:00 |
|
Script Generator
|
52a88626d4
|
feat(版本): 完善计划覆盖与工作台待办
关键改动:
- 增加计划日志汇总、需求覆盖草稿校验与对应测试
- 抽取工作台工作项 Hook,补充待办计数能力
- 优化版本详情中计划、任务、测试用例和 Bug 的筛选与展示
Co-Authored-By: Codex GPT-5 <codex@openai.com>
|
2026-06-30 13:43:18 +08:00 |
|
Script Generator
|
1cd595c42e
|
feat(版本详情): 完善流程日志与需求覆盖
|
2026-06-30 11:00:07 +08:00 |
|
Script Generator
|
85ec416bc2
|
feat(小宝预警): 调整风险列表布局和导航徽标
|
2026-06-30 10:23:01 +08:00 |
|
Script Generator
|
50e76c8068
|
fix(小宝预警): 剩余工作量展示天数换算
|
2026-06-30 09:35:47 +08:00 |
|
Script Generator
|
cf02ce9266
|
feat(小宝预警): 增加预警页面
|
2026-06-29 19:51:37 +08:00 |
|
Script Generator
|
7f24e16491
|
feat(ai): 优化拆解目标和负责人推荐
|
2026-06-29 16:19:52 +08:00 |
|
Script Generator
|
8a1726c426
|
feat(需求池): 调整需求池布局与详情展示
|
2026-06-29 15:07:07 +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
|
662154ca92
|
feat(workspace): 增加个人今日日报列
|
2026-06-26 16:04:48 +08:00 |
|
Script Generator
|
d9b0236d1c
|
fix(workspace): 使用本地日期生成今日日报
|
2026-06-26 15:43:31 +08:00 |
|
Script Generator
|
2d802318fa
|
feat(版本详情): 优化任务统计与测试轮次
|
2026-06-26 15:12:24 +08:00 |
|
Script Generator
|
952e13677c
|
fix(workspace): 优化今日日报侧栏文本展示
|
2026-06-26 15:10:44 +08:00 |
|
Script Generator
|
17dd4afada
|
feat(workspace): 添加今日日报侧栏组件
|
2026-06-26 14:58:32 +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
|
5adc7759ad
|
feat(平台): 补齐服务端持久化和AI拆解契约
|
2026-06-25 15:21:32 +08:00 |
|
Script Generator
|
5723356d08
|
feat(测试用例): 展示预估和实际耗时
|
2026-06-25 14:55:45 +08:00 |
|
Script Generator
|
52833d81ac
|
feat(开发任务): 状态流转接入单条工作流
|
2026-06-25 14:04:45 +08:00 |
|
Script Generator
|
53ae3f02a5
|
fix: 新建需求漏传 status 字段导致状态/操作按钮不显示
根因:RequirementModal.handleSubmit 提交时漏传 status,store
createRequirement 也无默认值,落库 status 为 undefined。
page.tsx 的所有操作按钮均按 req.status === '...' 判断,
undefined 不匹配任何分支 → 所有按钮消失;REQ_STATUS_LABEL[undefined]
也是 undefined → 状态列空白。
修复(双兜底,二选一就够,但都改更稳):
- RequirementModal.tsx: handleSubmit 加 status: initial?.status ?? 'pending_review'
- useRequirementStore.ts: createRequirement 加 status: data.status ?? 'pending_review'
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-16 20:55:04 +08:00 |
|
Script Generator
|
75519fd4e3
|
fix: 需求池操作矩阵微调 + 来源管理 bug 修复
需求池:
- 已采纳状态去掉「删除」操作(推进后不应直接删除,要走拒绝路径)
来源管理:
- 清空预设 mock 数据(海底捞/西贝/喜茶/奈雪等 17 条),用户自己维护
- 修复新建需求选「新建的来源对象」时显示数字 ID bug:
原因是 RequirementModal 里 <option value={t.id}> 存了 ID,但 mock
和详情页直接读 sourceTarget 当名字展示,导致新建的对象只显示 ID。
改为 <option value={t.name}> 与 mock 数据格式对齐
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-16 20:39:03 +08:00 |
|
Script Generator
|
7c49868c4f
|
feat: 个人中心管理(编辑信息 + 修改密码 + 退出登录)
- 新增 /profile 路由:两个 Tab(个人信息 / 修改密码)+ 退出按钮
- Sidebar 底部用户区改造:绑定真实登录用户(头像/姓名/角色)+ 加 Settings icon 跳 /profile
- useAuthStore 加 refreshUser:保存信息后立即同步 Sidebar 显示
- 个人信息表单:姓名/手机/邮箱可改,部门/角色只读,复用 updateMember
- 密码修改:原密 + 新密(≥8位且≠原密) + 确认 三档校验,眼睛 icon 切换可见,下次登录生效
- 退出登录:confirm → useAuthStore.logout → /login
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-16 19:51:22 +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 |
|
Script Generator
|
57e55b6788
|
fix: 修复录入人员不显示 + 状态列改名区分
1. 录入人员字段(creator):
- RequirementModal 新增 currentUserName prop
- handleSubmit 自动填入 creator
- 编辑时保留原有 creator,新建时取当前登录用户
- 修复"新建需求后录入人员为空"的 bug
2. 表格状态列改名(消除混淆):
- "状态" → "业务状态"(req.status,业务流转)
- "开发状态" → "实际进度"(从 DevTask 派生)
- 两个含义不同的状态不再叫同一个名字
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-15 19:26:16 +08:00 |
|
Script Generator
|
fa7a0f7294
|
fix: 侧边详情显示产品/项目/版本上下文
所有 Drawer 新增 contextLabel 可选属性:
- 从工作台打开时传入"产品 / 项目 / 版本"路径
- 显示在 Drawer 顶部灰色背景条中
- 从版本详情打开时不传,不显示(无需冗余)
- 统一样式:px-5 py-2 bg-[var(--bg-subtle)] text-[11px]
涉及组件:
- PlanDetailDrawer
- DevTaskDetailDrawer
- TestCaseDetailDrawer
- BugDetailDrawer
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-15 17:52:15 +08:00 |
|
Script Generator
|
c7bccd7819
|
fix: 测试用例提Bug按钮 + 全局侧边栏阴影统一
1. 测试用例"提 BUG"按钮接入工作台:
- TestCaseDetailDrawer 传入 onCreateBug callback
- 点击"提 BUG"关闭测试详情,弹出 BugCreateModal
- 创建后 Bug 自动关联该测试用例
2. 全局侧边弹窗阴影统一为 shadow-2xl:
- PlanDetailDrawer: shadow-2xl ✓
- DevTaskDetailDrawer: shadow-[var(--shadow-lg)] → shadow-2xl
- TestCaseDetailDrawer: shadow-[var(--shadow-lg)] → shadow-2xl
- BugDetailDrawer: shadow-[var(--shadow-lg)] → shadow-2xl
- 所有 Drawer 样式一致,阴影明显
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-15 17:45:09 +08:00 |
|