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 |
|
Script Generator
|
98251f1c38
|
feat: 与我相关点击打开侧边详情 + 开发/测试转交功能
一、工作台交互改为侧边栏详情(点击卡片打开):
- 调研/产品/UI:新建 PlanDetailDrawer
- 子任务勾选、进度条、上传成果(链接/文件)
- 开始/提交完成操作、转交功能
- 开发任务:复用 DevTaskDetailDrawer
- 状态流转、阻塞管理、前置任务等完整功能
- 测试用例:复用 TestCaseDetailDrawer
- 测试步骤、预期结果、关联Bug、提Bug
- Bug:复用 BugDetailDrawer
- 描述、截图、操作日志、状态转换
二、开发任务增加转交功能:
- DevTaskDetailDrawer 顶部增加转交按钮
- 从 members 列表选择新负责人
- 更新 assigneeId
三、测试用例增加转交功能:
- TestCaseDetailDrawer 顶部增加转交按钮
- 人员离职等场景可转交
四、版本详情同步:
- 所有 Drawer 改动同时生效于版本详情页
(因为复用同一组件)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-15 17:30:16 +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
|
24fb392017
|
feat: 计划时间改为年月日时分 + 到期自动开始 + 耗时统计同步
1. 日期选择改为 datetime-local(年月日时分):
- 计划开始时间/截止时间均精确到分钟
- 展示时显示完整时间而非仅日期
2. 到期自动开始逻辑:
- 当前时间 >= plan.startTime 且 status=pending → 自动视为开始
- 自动触发 store 更新 status=in_progress + actualStartAt
- 用户仍可在计划开始前手动点击"开始"按钮
- 按钮改为"提前开始",已到期的不再显示按钮
3. 耗时计算统一用实际时间:
- 耗时 = actualStartAt 到 completedAt(或当前时间)
- 自动开始的 plan 使用 startTime 作为 effectiveStartAt
- 概览总耗时/开始日期计算也同步纳入自动开始的 plan
4. checkbox 与自动开始联动:
- 自动开始后 checkbox 可交互(不需要手动点开始)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-15 15:53:41 +08:00 |
|
Script Generator
|
2d3f56b00c
|
fix: 胶囊进度按子任务加权 + 调研任务清单必填+预设选项
1. 胶囊进度计算改为子任务加权:
- 分子 = 所有plan中已完成的子任务数
- 分母 = 所有plan的子任务总数
- completed的plan视为其子任务全部完成
- 没有子任务的plan按1项计算(不会导致分母为0)
- 例:4个completed(共8子任务) + 1个pending(2子任务)
= 8/(8+2) = 80%
2. 调研任务清单必须至少1项:
- handleSubmit 加校验:tasks.length === 0 时 return
- 红色提示:"请至少添加一项任务"
3. 预设可选任务选项(空列表时显示):
- 竞品分析、用户访谈、数据调研
- 技术可行性分析、市场调研、需求分析
- 点击即添加,也可自定义输入
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-15 15:39:38 +08:00 |
|
Script Generator
|
5bbcf02962
|
fix: 计划任务勾选逻辑 + 胶囊进度计算修正
1. 必须点击"开始"后才能勾选任务:
- 调研/产品方案/UI设计的 checkbox 加 disabled 判断
- plan.status !== 'in_progress' 时不可交互
2. 调研勾选改为二态(与产品/UI一致):
- 去掉三态循环(pending→in_progress→completed)
- 改为 toggle:未完成 ↔ 已完成
- 显示文字也简化为"已完成"/"未完成"
3. 胶囊进度百分比计算修正:
- 旧逻辑:所有子任务合并计算(新建空任务导致分母为0返回0%)
- 新逻辑:以 plan 为单位加权计算
- completed 的 plan = 权重 1
- in_progress 的 plan = 子任务完成率
- pending 的 plan = 权重 0
- 公式:sum(weights) / plan_count * 100
- 新建一个 pending 的 plan 不会把已完成的 100% 打回 0%
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-15 15:31:21 +08:00 |
|
Script Generator
|
0a83ab8816
|
fix: 关联需求添加人显示"系统添加" + 开发状态列 + 开发中不可移除
1. 添加人字段:无值时显示"系统添加"而非"-"
2. 新增"开发状态"列:从 linkage-engine 推导
3. 开发中的需求:移除按钮替换为"开发中"文字提示
4. 去掉"描述"列(表格更紧凑)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-15 15:17:24 +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
|
101a6be9b7
|
fix: Bug详情图片放大关闭不影响抽屉 + 仅修复人可操作
1. Lightbox 点击关闭时 stopPropagation,不会冒泡关闭 drawer
- 点击背景关闭图片
- 新增右上角 X 关闭按钮
- 点击图片本身不触发关闭
2. 仅当前修复人(assigneeId)可操作 Bug:
- 只有当前用户 === bug.assigneeId 时显示状态流转按钮和转交按钮
- 其他人查看时显示提示"仅修复人可操作"
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-15 13:45:08 +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
|
c7f49ad51c
|
refactor: 胶囊条改为纯进度展示,去掉"当前阶段"和"阶段耗时"
胶囊条 CapsuleStages 重构:
- 去掉 currentStage/progress 旧 props
- 每段只显示进度百分比 + 状态颜色(idle/active/done)
- 支持并行阶段(多个可同时 active)
- 数据由实际 PlanTask/DevTask/TestCase 状态驱动
进度数据来源:
- 调研:任务完成数 / 总数
- 产品/UI:需求完成数 / 关联数
- 开发:DevTask 进度(STATUS_PROGRESS 加权)
- 测试:已执行用例 / 总用例
版本列表页:
- 去掉"当前阶段"和"阶段进度"两列
- 替换为"状态"列(显示版本状态标签)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-12 17:16:23 +08:00 |
|
Script Generator
|
feba142ee9
|
fix: 调研/产品/UI 改为手动点击"开始"触发计时
去掉"到了计划日期自动变进行中"的逻辑,改为用户手动点击:
- pending 状态显示蓝色"开始"按钮
- 点击后记录 actualStartAt(精确时间戳)
- 进行中才显示"完成"按钮
跟开发/测试逻辑一致:状态由用户主动触发,时间戳准确。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-12 16:38:03 +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
|
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
|
452cbb4671
|
fix(ui): 工具栏合并为一行 — 进度+筛选+操作紧凑布局
开发任务和测试用例列表顶部从三行(进度/筛选/多选)
合并为一行工具栏:左侧进度条和统计,中间筛选下拉,右侧批量删除+新建。
多选 checkbox 内嵌到分组头和行内。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-12 15:26:11 +08:00 |
|
Script Generator
|
3fc387eac5
|
feat: 开发任务和测试用例增加批量删除 + 单条删改
- DevTaskTab: 列表行前增加 checkbox,支持全选/批量删除
- DevTaskDetailDrawer: 顶部增加删除按钮(带确认)
- TestCaseTab: 同上,批量删除时校验关联 Bug(有 Bug 不可删)
- TestCaseDetailDrawer: 顶部增加删除按钮(有关联 Bug 时提示不可删)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-12 15:08:18 +08:00 |
|
Script Generator
|
bf229719ad
|
fix: 防御旧 localStorage 中已删除的 done 状态导致 undefined 崩溃
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-12 14:46:59 +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
|
633f2619d3
|
fix(dev-task): 实际投入时间改为 开始→提测,而非 开始→测试完成
completedAt 在 DevTask 流转到"提测"时记录,代表开发交付时间。
实际工时 = startDate → completedAt(提测日),准确反映开发投入。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-12 14:29:32 +08:00 |
|
Script Generator
|
e4f3817719
|
feat: 提测通知 + 测试全通过自动完成开发任务
1. TestCaseTab 显示提测状态横幅:
- 绿色:开发已全部提测,可以开始测试
- 橙色:开发进行中,显示提测进度 (x/y)
2. TestCase 全部通过 + Bug 全关闭时,自动将版本下所有
submitted 状态的 DevTask 流转为 done(无需手动操作)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-12 14:20:44 +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
|
7fe3a3854a
|
feat(test-case+bug): 测试用例模块 + Bug 模块完整实现
需求验收体系:
- 测试用例:五态状态机(待执行/执行中/通过/失败/阻塞)
- Bug:六态状态机(待修复/修复中/已修复/验证中/已关闭/已拒绝)
- Bug 通过测试用例间接关联需求(不冗余存版本)
- Bug 默认修复人 = 关联需求的开发任务负责人
- 测试进度 = 已执行用例/总用例, 通过率 = 通过/已执行
UI:
- 版本详情页新增"测试用例" Tab + "BUG" Tab
- 测试用例:统计栏+筛选+按需求分组列表+详情抽屉+提BUG入口
- Bug:统计栏+筛选+列表+详情抽屉(链式跳转用例→需求)
- 概览胶囊"测试"阶段进度联动
- "与我相关"新增测试用例/Bug分组
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-12 13:11:08 +08:00 |
|
Script Generator
|
75b0d12fa0
|
refactor(dev-task): 移除工时记录,改为由开始/完成日期自动计算实际工时
- 状态流转到"开发中"时自动记录 startDate
- 实际工时 = startDate → completedAt 的工作日 × 8h
- 详情抽屉移除工时记录面板,增加"开发开始日期"展示
- 列表行工时展示同步改为日期计算
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-12 09:31:30 +08:00 |
|
Script Generator
|
7322b115c4
|
fix(dev-task): 修复优先级无法手动选择的问题
优先级默认继承需求,用户手动修改后不再被覆盖。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-11 18:56:19 +08:00 |
|
Script Generator
|
d619846b93
|
fix(dev-task): 体验优化 — 新建弹窗默认值+详情卡片分区+筛选分页+胶囊联动
- 新建弹窗:负责人默认当前用户,提示版本截止日期,超期需填写原因
- 详情抽屉:重写为卡片分区布局,展示关联需求,状态流转按钮醒目化
- 详情实时更新:改为从 store 实时读取而非 prop 快照
- 列表增加筛选:负责人/状态/阻塞/任务类型 + 分页(每页20条)
- 工时展示:列表行显示 实际Xh / 预计Yh 格式
- 概览胶囊联动:dev 阶段进度由 DevTask 完成度驱动
- 概览统计卡片:替换 mock 为真实 DevTask 数据(待开发/开发中/阻塞中)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-11 18:51:33 +08:00 |
|
Script Generator
|
a560634091
|
feat(dev-task): 开发任务模块 V1 完整实现
- 核心库:dev-task.ts(类型+状态机+进度计算)、task-worklog.ts(工时)、task-category.ts(字典)、work-item.ts(聚合契约)
- Store:useDevTaskStore(CRUD+状态流转)、useTaskWorklogStore(工时记录)、useTaskCategoryStore(字典管理)
- UI组件:DevTaskTab、DevTaskCreateModal、DevTaskDetailDrawer、DevTaskRow、WorklogPanel、StatusBadge、CategoryChip
- 集成:版本详情页"开发任务"Tab、"与我相关"工作台开发任务分组、任务类型管理页
- 设计文档:spec + 实施计划
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-11 18:02:07 +08:00 |
|
Script Generator
|
8bc23fbf3d
|
feat: 计划任务清单+进度联动+与我相关工作台
- 计划新增任务清单:调研支持任务CRUD,进度=完成数/总数
- 产品方案/UI:通过关联需求勾选进度,全部完成提示提交
- 版本胶囊条动态进度:调研/产品方案/UI 阶段独立计算
- 版本状态显示具体阶段名(调研中/产品设计中/UI设计中)
- 计划开始日期≤今天自动进入"进行中",版本状态联动
- 与我相关重写为左右布局:左侧分组导航,右侧任务/需求勾选
- 计划支持超期原因校验(结束日期超版本截止)
- 修复列表overflow裁剪问题、计划耗时当天至少1天
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-11 15:43:09 +08:00 |
|
Script Generator
|
2acc9aeaa9
|
feat: 版本详情完整功能 + 数据串联 + 登录模块
- 版本详情:关联需求Tab(从需求池添加已采纳需求/移除释放)
- 版本详情:调研/产品方案/UI设计Tab(计划CRUD、完成提交成果、耗时统计)
- 版本详情:超期校验(结束日期超版本截止需填写原因)
- 版本详情:概览统计卡片(加班时长/排名/原因占比)
- 数据串联:产品→项目→版本→需求→加班全链路贯通
- 版本管理:规划中版本可删除,删除释放关联需求
- 数据清理:仅保留翻台宝/值班,需求池10条值班待评审需求
- 修复:列表页overflow裁剪菜单问题(4个页面统一修复)
- 新增:登录模块、AuthGuard、VersionPlan store
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-10 17:07:36 +08:00 |
|
Script Generator
|
9a0b16a8f1
|
feat: 实现需求管理、加班记录、成员/角色管理模块
- 需求模块:完整 CRUD、状态流转(采纳/拒绝/关闭)、详情抽屉、产品→项目级联选择
- 加班记录:产品→项目→版本三级联动、月份筛选(MonthPicker)、CSV 导出
- 成员管理:左右布局(部门树+成员列表)、手机号脱敏、初始密码自动生成及规则设置
- 角色管理:卡片列表、系统角色保护、CRUD
- 通用组件:FilterSelect 下拉、MonthPicker 月份选择器、Pagination 分页
- 样式统一:状态标签加 border、日期输入现代化、筛选组件风格一致
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-09 18:16:18 +08:00 |
|