157 lines
3.8 KiB
Markdown
157 lines
3.8 KiB
Markdown
|
|
# 修复下载按钮不显示的问题
|
|||
|
|
|
|||
|
|
## 问题描述
|
|||
|
|
|
|||
|
|
日报生成成功后,历史记录中显示"可下载为空",没有下载按钮。
|
|||
|
|
|
|||
|
|
## 原因分析
|
|||
|
|
|
|||
|
|
可能是数据库表结构问题:
|
|||
|
|
1. 旧版本的表缺少 `file_path` 字段
|
|||
|
|
2. 或者表结构不完整
|
|||
|
|
3. 或者数据没有正确保存
|
|||
|
|
|
|||
|
|
## 解决方案
|
|||
|
|
|
|||
|
|
### 方案1:运行修复脚本(推荐)
|
|||
|
|
|
|||
|
|
#### 步骤1:停止服务
|
|||
|
|
```bash
|
|||
|
|
# 按 Ctrl+C 停止当前运行的服务
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 步骤2:运行修复脚本
|
|||
|
|
```bash
|
|||
|
|
python fixDatabase.py
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
脚本会:
|
|||
|
|
1. 检查表结构是否完整
|
|||
|
|
2. 如果缺少字段,询问是否删除旧表重建
|
|||
|
|
3. 输入 `y` 确认删除并重建
|
|||
|
|
4. 等待修复完成
|
|||
|
|
|
|||
|
|
#### 步骤3:重启服务
|
|||
|
|
```bash
|
|||
|
|
python app.py
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 步骤4:重新创建配置
|
|||
|
|
由于旧表被删除,需要重新创建配置:
|
|||
|
|
1. 访问 http://localhost:5000
|
|||
|
|
2. 切换到"配置管理"标签
|
|||
|
|
3. 创建新的配置
|
|||
|
|
4. 选择企业/用户、字段、求和等
|
|||
|
|
|
|||
|
|
#### 步骤5:生成日报
|
|||
|
|
1. 切换到"日报生成"标签
|
|||
|
|
2. 选择配置和时间范围
|
|||
|
|
3. 点击"生成日报"
|
|||
|
|
4. 生成成功后,切换到"历史记录"标签
|
|||
|
|
5. 应该能看到下载按钮了
|
|||
|
|
|
|||
|
|
### 方案2:手动检查和修复
|
|||
|
|
|
|||
|
|
如果修复脚本无法运行,可以手动检查:
|
|||
|
|
|
|||
|
|
#### 1. 检查表结构
|
|||
|
|
```bash
|
|||
|
|
# 连接数据库(需要安装MySQL客户端)
|
|||
|
|
mysql -h haoslm2.xicp.net -P 10216 -u root -p
|
|||
|
|
|
|||
|
|
# 输入密码:DsideaL147258369
|
|||
|
|
|
|||
|
|
# 查看表结构
|
|||
|
|
DESCRIBE t_daily_report_history;
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
应该看到包含 `file_path` 字段。如果没有,需要重建表。
|
|||
|
|
|
|||
|
|
#### 2. 删除旧表
|
|||
|
|
```sql
|
|||
|
|
DROP TABLE IF EXISTS t_daily_report_history;
|
|||
|
|
DROP TABLE IF EXISTS t_daily_report_config;
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 3. 重新初始化
|
|||
|
|
访问 http://localhost:5000/api/init-tables 或重启服务
|
|||
|
|
|
|||
|
|
### 方案3:检查服务器日志
|
|||
|
|
|
|||
|
|
#### 1. 查看生成日志
|
|||
|
|
在运行 `python app.py` 的窗口中,查看生成日报时的日志:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
[日报生成] Excel文件已生成: /reports/daily_report_xxx.xlsx
|
|||
|
|
[日报生成] 准备保存历史记录,file_path=/reports/daily_report_xxx.xlsx
|
|||
|
|
[保存历史] 准备保存历史记录
|
|||
|
|
ID: 1234567890123
|
|||
|
|
file_path: '/reports/daily_report_xxx.xlsx'
|
|||
|
|
status: 1
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
如果 `file_path` 为空,说明Excel生成失败。
|
|||
|
|
|
|||
|
|
#### 2. 查看历史记录日志
|
|||
|
|
切换到"历史记录"标签时,查看日志:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
[历史记录] ID: 1234567890123, status: 1, file_path: '/reports/daily_report_xxx.xlsx'
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
如果 `file_path` 为空,说明数据库中保存的数据有问题。
|
|||
|
|
|
|||
|
|
### 方案4:检查文件是否存在
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Windows
|
|||
|
|
dir public\reports\*.xlsx
|
|||
|
|
|
|||
|
|
# 查看是否有生成的Excel文件
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
如果文件不存在,说明Excel生成失败。检查:
|
|||
|
|
1. `public/reports/` 目录是否存在
|
|||
|
|
2. 是否有写入权限
|
|||
|
|
3. 查看服务器控制台的错误信息
|
|||
|
|
|
|||
|
|
## 验证修复
|
|||
|
|
|
|||
|
|
修复后,应该能够:
|
|||
|
|
1. ✓ 生成日报成功
|
|||
|
|
2. ✓ 历史记录中显示"可下载"
|
|||
|
|
3. ✓ 点击下载按钮,Excel文件开始下载
|
|||
|
|
4. ✓ 打开Excel文件,内容正确
|
|||
|
|
|
|||
|
|
## 常见问题
|
|||
|
|
|
|||
|
|
### Q1: 修复脚本运行失败
|
|||
|
|
**A**: 检查数据库连接是否正常,确认数据库地址、用户名、密码正确。
|
|||
|
|
|
|||
|
|
### Q2: 修复后仍然没有下载按钮
|
|||
|
|
**A**:
|
|||
|
|
1. 清除浏览器缓存(Ctrl+F5)
|
|||
|
|
2. 重启服务
|
|||
|
|
3. 查看服务器控制台日志
|
|||
|
|
4. 查看浏览器控制台(F12)错误
|
|||
|
|
|
|||
|
|
### Q3: 下载按钮显示但下载失败
|
|||
|
|
**A**:
|
|||
|
|
1. 检查 `public/reports/` 目录中是否有文件
|
|||
|
|
2. 检查文件权限
|
|||
|
|
3. 查看服务器控制台错误
|
|||
|
|
|
|||
|
|
### Q4: 修复脚本删除了配置数据
|
|||
|
|
**A**: 这是正常的,因为旧表结构有问题。修复后需要重新创建配置。
|
|||
|
|
|
|||
|
|
## 联系支持
|
|||
|
|
|
|||
|
|
如果以上方案都无法解决问题,请提供:
|
|||
|
|
1. 修复脚本的输出结果
|
|||
|
|
2. 服务器控制台的完整日志
|
|||
|
|
3. 浏览器控制台的错误信息
|
|||
|
|
4. 数据库表结构的截图(DESCRIBE t_daily_report_history)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**最后更新**: 2025-01-08
|