更新开发文档,删除旧的历史预测数据
This commit is contained in:
parent
aab685123b
commit
a721fb09b2
@ -351,3 +351,26 @@
|
||||
- 逐一修改了 `ProductPredictionView.vue`, `StorePredictionView.vue`, 和 `GlobalPredictionView.vue`。
|
||||
- 在 `<script setup>` 中添加了 `formatDateTime` 辅助函数。
|
||||
- 在 `<el-table-column>` 中使用 `:formatter="formatDateTime"` 属性来应用该格式化函数,实现了UI显示的统一。
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 2025-07-24 (续): 深度调试与修复“历史预测”模块
|
||||
**开发者**: Roo (AI Assistant) & lyf
|
||||
|
||||
### 16:00 - 阶段一:深度调试并修复“历史预测”图表渲染失败问题
|
||||
- **问题现象**: “历史预测”详情页的预测趋势图始终为空白,尽管后端API正常返回数据,且页面下方的数据表格也能正确显示。
|
||||
- **根本原因分析 (复合型问题)**:
|
||||
1. **数据结构不匹配**: 前端 `HistoryView.vue` 对后端返回的数据结构处理逻辑过于复杂且存在错误,未能正确构建出图表渲染所需的数据对象。
|
||||
2. **DOM渲染时序问题**: 图表容器在一个 `el-dialog` 弹窗内,其渲染时机与Chart.js的初始化时机存在冲突。在弹窗动画完成前,图表容器的尺寸为0,导致Chart.js初始化失败。
|
||||
- **最终解决方案 (彻底重构)**:
|
||||
1. **后端API加固**: 统一并简化了 `/api/prediction/history/{id}` 接口的返回数据结构,确保其直接、清晰地提供前端所需的所有信息。
|
||||
2. **前端实现统一**: 对 `UI/src/views/HistoryView.vue` 进行了彻底重构,将其图表渲染的全部实现(包括DOM结构、元素引用方式、渲染时机和函数逻辑)与一个已知能正常工作的参照组件 (`ProductPredictionView.vue`) 完全同步,从根本上解决了数据处理和渲染时序的双重问题。
|
||||
|
||||
### 17:00 - 阶段二:修复历史数据天数被截断的问题
|
||||
- **问题现象**: 在图表问题修复后,发现无论预测时设置了多少天,历史详情页的图表和数据总是显示被截断后的天数(例如,预测35天,只显示7天)。
|
||||
- **根本原因分析**: `server/api.py` 的 `predict` 函数在处理预测请求时,如果前端没有传递天数参数,会错误地回退到硬编码的默认值(历史30天,预测7天)。
|
||||
- **解决方案 (代码与数据双重修复)**:
|
||||
1. **后端代码修复**: 修改了 `server/api.py` 的 `predict` 函数,移除了默认值,强制要求前端在请求中必须提供 `future_days` 和 `history_lookback_days` 参数,确保用户的设置能被正确处理。
|
||||
2. **历史数据修复**: 创建并执行了一个新的Python脚本 `fix_old_predictions.py`。该脚本遍历数据库中所有已存在的历史记录,识别出被截断的数据,并使用原始参数重新生成完整的预测结果,覆盖掉旧的、不完整的数据文件。该脚本也经过了多次调试,以处理文件编码、方法调用错误和JSON序列化等问题。
|
||||
- **最终结论**: 至此,所有与“历史预测”模块相关的功能缺陷和数据一致性问题均已得到彻底解决。系统现在能够正确生成、保存、修复并完整展示所有历史预测的结果。
|
||||
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user