Files

64 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 选股执行状态抽屉与紧凑布局执行计划
## Scope
只修改 `zhixing-web` 前端;后端接口、数据库和原型 HTML 不在本任务中变更。
## Ordered Checklist
### 1. 开发前上下文
- [x] 读取 `trellis-before-dev` 指定的前端规格和当前工作区状态。
- [x] 确认任务文件、用户现有改动和目标文件边界。
### 2. 执行状态抽屉
- [x] 新增 `selection` feature 内的执行状态抽屉组件,复用 `Dialog` primitive,桌面宽度固定 600px,移动端自适应。
- [x] 新增未完成评估 table 组件,展示名称、代码、状态、原因和空状态。
- [x] 将 `ResultMetrics` 的执行状态改为抽屉触发入口,移除主页面下方的 `FailureList`。
- [x] 保持 Escape、遮罩、关闭按钮和焦点返回行为。
### 3. 紧凑与有界布局
- [x] 收紧 `PageLayout` 的 gutter、区块 padding 和 vertical rhythm。
- [x] 收紧选股执行工具栏、指标、筛选栏、详情面板、分页和状态卡。
- [x] 修复成功结果工作台的 `flex/min-h-0` 高度链,确保数据区填满剩余高度、分页固定底部。
- [x] 保持移动端触控尺寸和自然页面滚动。
### 4. 测试与验证
- [x] 为抽屉、表格、空状态和主页面移除内联列表补充 Testing Library 测试。
- [x] 运行 `pnpm format:check`、`pnpm lint`、`pnpm typecheck`、`pnpm test`、`pnpm build`。
- [x] 用浏览器 mock 数据检查桌面和移动视口、抽屉宽度、滚动边界、分页位置及水平溢出。
## Verification Notes
- `pnpm lint`、`pnpm typecheck`、`pnpm test`(4 files / 22 tests)和 `pnpm build` 通过。
- 本次改动文件的 Prettier 检查通过;全量 `pnpm format:check` 仅因未修改的 `DESIGN.md` 未格式化而失败。
- 浏览器 mock 已验证 600px 桌面抽屉、移动端无水平溢出、关闭/Escape/遮罩/焦点恢复和工作台高度链。
## Validation Commands
在 `zhixing-web/` 下运行:
```bash
pnpm format:check
pnpm lint
pnpm typecheck
pnpm test
pnpm build
```
## Risky Files and Rollback Points
- `src/features/selection/pages/selection-results-page.tsx`:页面状态和内联失败列表迁移;可单独回退组件接线。
- `src/features/selection/components/*execution*` / `*evaluation*`:新增抽屉与表格;删除新文件即可回退。
- `src/app/layout/page-layout.tsx`:跨页面密度和滚动边界;若影响 Home,回退该文件的密度 class,再保留 Selection 局部修复。
- `src/features/selection/components/selection-results-workbench.tsx`:高度链和数据滚动;回退时保留原筛选、分页和主从逻辑。
## Review Gates Before Start
- [x] `prd.md`、`design.md`、`implement.md` 已按最终范围收敛。
- [x] `implement.jsonl` 与 `check.jsonl` 已填入真实前端规格上下文。
- [x] 用户已批准本规划摘要后,才运行 `task.py start`。