fix(dev-task): 体验优化 — 新建弹窗默认值+详情卡片分区+筛选分页+胶囊联动
- 新建弹窗:负责人默认当前用户,提示版本截止日期,超期需填写原因 - 详情抽屉:重写为卡片分区布局,展示关联需求,状态流转按钮醒目化 - 详情实时更新:改为从 store 实时读取而非 prop 快照 - 列表增加筛选:负责人/状态/阻塞/任务类型 + 分页(每页20条) - 工时展示:列表行显示 实际Xh / 预计Yh 格式 - 概览胶囊联动:dev 阶段进度由 DevTask 完成度驱动 - 概览统计卡片:替换 mock 为真实 DevTask 数据(待开发/开发中/阻塞中) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -38,8 +38,10 @@ export function DevTaskRow({ task, category, onClick }: Props) {
|
||||
</div>
|
||||
<CategoryChip category={category} />
|
||||
<StatusBadge status={task.status} />
|
||||
<span className="text-[11px] text-[var(--ink-muted)] w-20 text-right tabular-nums">
|
||||
{task.actualHours > 0 ? `${task.actualHours}h/` : ''}{formatHours(task.estimateHours).split('(')[0]}
|
||||
<span className="text-[11px] text-[var(--ink-muted)] w-24 text-right tabular-nums">
|
||||
{task.actualHours > 0 && <span className="text-[var(--ink-soft)]">{task.actualHours}h</span>}
|
||||
{task.actualHours > 0 && ' / '}
|
||||
{formatHours(task.estimateHours).split('(')[0]}
|
||||
</span>
|
||||
<span className="text-[11px] text-[var(--ink-soft)] w-14 text-right truncate">{task.assigneeId}</span>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user