# 项目打标失败状态前端实施计划

## 保存路径确认

- 前端计划：`docs/plans/frontend/2026-05-27-project-tag-failed-status-frontend-implementation.md`
- 实施记录：`docs/reports/implementation/2026-05-27-project-tag-failed-status-implementation.md`

## 目标

前端支持 `4-打标失败` 状态展示；项目列表只展示失败状态和进入项目入口；项目详情页展示失败提示，并通过详情接口字段查看完整错误。

## 实施步骤

1. 在项目列表、项目详情、历史导入状态映射中增加 `4-打标失败`，使用失败红色样式。
2. 在 `SearchBar` 和项目首页状态统计中增加 `4` 筛选与 `status4` 计数。
3. 在项目详情页头部下方增加打标失败提示，仅当 `projectInfo.projectStatus === "4"` 且存在 `latestTagTaskErrorMessage` 时展示。
4. 详情失败提示提供完整错误弹窗，内容只使用详情接口返回的 `latestTagTaskErrorMessage` 与 `latestTagTaskEndTime`。
5. 项目状态轮询在状态脱离 `3-打标中` 后停止，因此遇到 `4` 自动停止并展示失败信息。
6. `UploadData.vue` 将 `4` 按 `0-进行中` 处理：允许上传、拉取、征信导入，禁用查看报告入口。
7. `ParamConfig.vue` 维持只锁定 `3-打标中` 和 `2-已归档`，因此 `4` 状态允许保存参数并触发重新打标。
8. 补充静态单测覆盖状态映射、详情失败提示、列表不展示完整错误、筛选计数和失败态操作口径。

## 验证

- 前端命令执行前先通过 `nvm use` 切换到项目 Node 版本。
- 执行相关静态单测。
- 执行 `npm run build:prod`。
- 在真实业务页面路由中验证列表和详情页显示效果，不打开 prototype 页面。
