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 |
|
Script Generator
|
5db00f01ff
|
feat: 与我相关重构 — workspace-engine 聚合引擎
架构:新建 lib/workspace-engine.ts
- aggregateWorkItems(): 从所有 store 统一聚合"与我相关"数据
- 每个 WorkItem 包含:type, title, status, completed,
productName, projectName, versionName, versionId
- 新增模块只需在引擎中添加聚合逻辑,工作台自动展示
- 解决了之前各模块增加内容但工作台无法关联的问题
功能改动:
1. 每个任务显示完整上下文:产品 / 项目 / 版本
2. 版本名可点击跳转到版本详情
3. 所有任务(含已完成)统一展示,已完成半透明+绿色勾
4. 左侧增加"显示已完成"开关
5. 待办/已完成计数统计
6. 统一卡片样式:类型标签 + 状态 + 编号 + 标题 + 优先级
7. Bug 额外显示严重程度标签
8. 列表默认排序:未完成在前,已完成在后
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-15 16:51:46 +08:00 |
|
Script Generator
|
618f7877e0
|
fix: 胶囊移除"上线"阶段
上线阶段没有实际进度意义(上线是一个动作不是过程),
从 STAGES 中移除 released,胶囊只保留:
调研 → 产品设计 → UI设计 → 开发 → 测试 → BUG
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-15 16:35:51 +08:00 |
|
Script Generator
|
9c310534e6
|
fix: 去掉范围蔓延和其他选项 + 概览增加变更统计
1. 变更原因精简为4个:
- 需求理解偏差导致返工
- 反馈导致返工
- 实现难度超预期
- 上游交付延误
去掉"范围蔓延"和"其他"(避免大家逃避问题选其他)
2. 顶部小卡片新增"需求变更"计数(橙色警告色)
3. 概览新增变更统计区域(加班时长下方):
- 变更人员排名:谁发起的变更次数最多
- 变更原因占比:环形饼图 + 图例百分比
- 无变更时不显示此区域
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-15 16:28:37 +08:00 |
|
Script Generator
|
700c8a9aba
|
feat: 计划转交功能 + 关联需求增强(描述/变更/类型/日期)
一、调研/产品方案/UI设计 - 转交功能:
- 未开始/进行中状态可转交给其他参与人员
- 转交按钮打开内联选择器,从 version.members 选人
- 确认后更新 plan.owner
二、关联需求表格增强:
- 描述列:超出宽度省略号,hover 显示完整 title 属性
- 需求类型列:原始需求(灰色)/ 变更需求(橙色)
- 变更原因列:显示变更原因标签
- 添加日期列:显示 createdAt
三、需求变更功能:
- 新增"需求变更"按钮(橙色边框)
- 变更表单:变更人员(从参与人员选)、变更原因(6种)、
需求概述、需求详细
- 变更原因选项:需求理解偏差导致返工、反馈导致返工、
实现难度超预期、上游交付延误、范围蔓延、其他
- 创建后自动关联到当前版本,标记为变更需求
四、数据模型扩展(lib/requirement.ts):
- 新增 reqType: 'original' | 'change'
- 新增 changeReason: ChangeReason
- 新增 changeBy: string
- 导出 CHANGE_REASON_LABEL 常量
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-15 16:21:14 +08:00 |
|
Script Generator
|
43d3f76e6a
|
feat: 需求池重构 + 联动引擎 + 开发状态推导
架构:新建 lib/linkage-engine.ts 联动引擎
- deriveReqDevStatus(): 从 devTasks 推导需求开发状态
- canEditRequirement(): 开发中的需求不可编辑
- checkVersionChangeRisk(): 版本变更风险检查
- 所有跨模块推导逻辑集中在此文件
功能改动:
1. 导航改名"需求"→"需求池"
2. 新建需求:所属产品/项目必填,移除产品负责人字段
3. 需求表格新增"开发状态"列:
未排期/待开发/开发中/已完成(从 devTasks 实时推导)
4. 开发中的需求:编辑按钮禁用
5. 需求设 versionId → 版本详情关联需求天然兼容
(版本详情通过 filter(r.versionId === versionId) 读取)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-15 15:09:02 +08:00 |
|
Script Generator
|
273182bb0f
|
feat: Bug 图片上传 + 转交 + 操作日志 + 开发中含自测
1. 开发中统计包含 in_progress + testing(自测)
2. Bug 支持上传图片:
- BugCreateModal 加宽为 max-w-2xl
- 新增拖拽/点击上传图片区域,转 base64 存储
- 上传后可预览缩略图、可删除
- BugDetailDrawer 展示截图列表,点击可放大
3. Bug 支持转交:
- BugDetailDrawer 操作栏新增"转交"按钮
- 选人下拉 + 备注输入 → 确认转交
- transferBug store 方法:更新 assigneeId + 追加日志
4. Bug 操作日志:
- BugLog interface: create/status_change/transfer/resolve
- createBug 时记录创建日志
- changeStatus 时记录状态变更/修复日志
- transferBug 时记录转交日志
- BugDetailDrawer 底部展示操作时间线
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-15 13:37:01 +08:00 |
|
Script Generator
|
342fff7f06
|
refactor: 去掉"联调"阶段,新增"BUG"阶段胶囊
- Stage 类型去掉 integration,新增 bug
- 胶囊条:调研 → 产品设计 → UI设计 → 开发 → 测试 → BUG → 上线
- BUG 阶段进度 = 已关闭Bug / 总Bug
- 全部关闭 = done(绿色),有Bug未关闭 = active(蓝色)
- 版本列表/项目详情的阶段筛选同步去掉联调
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-15 10:18:17 +08:00 |
|
Script Generator
|
e92ec4eb0e
|
fix: formatDuration 时间差为0时显示0h而非1天
之前 hours=0 时会落到 days 分支显示"1天",实际是开始和完成时间相同。
现在统一按小时数判断,不到1天显示Xh,整天显示X天。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-12 16:43:54 +08:00 |
|
Script Generator
|
7af9206bec
|
fix: 调研/产品/UI 实际耗时改为精确时间戳显示和计算
- PlanTab 自动进入"进行中"时调用 onUpdate 记录 actualStartAt
- 显示实际开始时间和完成时间(精确到分钟)
- calcPlanDuration 改为用时间差计算小时数(精确到0.5h)
- formatDuration 显示小时而非天数
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-12 16:32:50 +08:00 |
|
Script Generator
|
da1f98968b
|
fix: 调研/产品/UI阶段耗时改为精确时间戳计算
- VersionPlan 新增 actualStartAt 字段
- updatePlan 流转到 in_progress 时自动记录 actualStartAt
- updatePlan 流转到 completed 时自动记录 completedAt(如未设)
- 概览阶段耗时改用 actualStartAt/completedAt 计算(不再用计划排期)
- 个人耗时汇总同步使用实际时间戳
所有阶段(调研/产品/UI/开发/测试)现在统一用精确时间戳算耗时。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-12 16:24:46 +08:00 |
|
Script Generator
|
c86e87f95b
|
fix: 实际耗时改为精确时间戳计算(精确到0.5h)
之前用日期+工作日×8h 计算耗时太粗糙,现改为:
- DevTask startDate/completedAt 使用完整 ISO 时间戳(含时分秒)
- TestCase startedAt/completedAt 同上
- 耗时 = (endTimestamp - startTimestamp) / 3600000,精确到0.5h
- 详情抽屉显示精确到分钟的时间(YYYY-MM-DD HH:mm)
例如:08:00 开始,10:30 提测,耗时 2.5h(不再是8h)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-12 16:11:51 +08:00 |
|
Script Generator
|
8b3b3b7e21
|
feat(test-case): 测试耗时自动计算(逻辑同开发任务)
- TestCase 新增 startedAt / completedAt 字段
- 流转到"执行中"时记录 startedAt
- 流转到"通过/失败/阻塞"时记录 completedAt
- 回退到执行中时清除 completedAt
- 测试耗时 = startedAt → completedAt 工作日 × 8h
- 列表行显示耗时,详情抽屉显示开始/完成/耗时
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-12 15:38:48 +08:00 |
|
Script Generator
|
10ffb874aa
|
refactor(dev-task): 去掉"已完成"状态,"已提测"作为终态
DevTask 状态简化为:待开发 → 开发中 → 自测 → 已提测(终态)
- 提测即代表开发交付完成,不需要额外的"已完成"
- 测试通过/失败产生的是 Bug,不影响 DevTask 状态
- 移除 TestCaseStore 中的自动完成副作用(不再需要)
- 版本执行态推导规则同步更新
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-12 14:44:49 +08:00 |
|
Script Generator
|
93f6c33109
|
refactor: 压平数据模型 — 版本为执行主线,需求降为语义标签
核心改动:
- TestCase 主归属 versionId,requirementId 改为可选语义标签
- Bug 新增 versionId(直接挂版本)+ requirementId(可选追溯)
- 新增 calcVersionExecutionStatus() 版本执行态推导函数
规则:DevTask全部提测→已提测,TestCase全部通过+Bug全关→可发布
- 概览页展示推导出的执行态标签
- BugTab 改为直接 versionId 查询(不再走 testCase→req 链路)
- 统计卡片"参与人员"替换为"未关闭Bug"
心智模型:
版本(执行线)→ DevTask/TestCase/Bug
需求(语义线)→ 解释为什么做,不驱动流程
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-12 14:07:46 +08:00 |
|
Script Generator
|
6c9a77038f
|
fix(dev-task): 移除测试验证/缺陷修复类型,测试已独立为单独模块
开发任务类型保留:前端开发、后端开发、数据库设计、接口联调、数据处理、实施支持
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-12 13:35:18 +08:00 |
|