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>
This commit is contained in:
Script Generator
2026-06-15 13:37:01 +08:00
parent 0ed7ff1d53
commit 273182bb0f
5 changed files with 182 additions and 23 deletions

View File

@@ -208,7 +208,7 @@ export default function VersionDetailPage() {
// DevTask 真实统计
const versionDevTasks = devTasks.filter((t) => versionReqs.some((r) => r.id === t.requirementId));
const devTaskTodo = versionDevTasks.filter((t) => t.status === 'todo').length;
const devTaskInProgress = versionDevTasks.filter((t) => t.status === 'in_progress').length;
const devTaskInProgress = versionDevTasks.filter((t) => t.status === 'in_progress' || t.status === 'testing').length;
const devTaskBlocked = versionDevTasks.filter((t) => t.isBlocked).length;
const versionBugs = bugs.filter((b) => b.versionId === version.id);
const bugOpenCount = versionBugs.filter((b) => b.status === 'open' || b.status === 'fixing').length;