Commit Graph

45 Commits

Author SHA1 Message Date
user9994793890
7b7ba2d842 fix: 修复 common.js 缺少全局变量和错误处理导致的按钮无响应问题
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 16:14:22 +08:00
user9994793890
6a98bb0cfa fix: 修复 JS 文件语法错误和函数缺失问题
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 16:10:13 +08:00
user9994793890
a8dd660231 fix: 修复 JS 文件拆分导致的函数重复和缺失问题
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 16:00:36 +08:00
user9994793890
5beb9ed6bb fix: 修复实体管理模块,使用 checkbox 列表替代 select 下拉框
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 15:51:40 +08:00
user9994793890
8c6e6d7137 fix: 修复静态文件路径,使用正确的 /public/static/ 路径
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 15:46:08 +08:00
user9994793890
4b95a94d12 fix: 修复静态文件路径问题,将 static 目录移动到 public 下
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 15:44:22 +08:00
user9994793890
b3f5918dff fix: 修复历史记录日期格式和配置名称显示问题
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 14:55:08 +08:00
user9994793890
aaa5ba887a fix: 修复历史记录页面显示问题 - 报表日期中文化、时间范围格式修正、配置名称显示
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 14:51:40 +08:00
user9994793890
bce03557dd fix: 修复历史记录页面 renderPagination 未定义错误
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 14:34:11 +08:00
user9994793890
d57776e11d fix: 修复 total_amount 类型转换问题
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 14:31:13 +08:00
user9994793890
ce5431c753 fix: 添加缺失的 renderHistory 函数,修复历史记录渲染问题
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 14:30:05 +08:00
user9994793890
e1b3bf95e0 fix: 添加缺失的 loadHistory 函数,修复历史记录加载问题
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 14:28:13 +08:00
user9994793890
f02648a9b5 fix: 修复配置管理页面一直显示加载中的问题
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 14:22:12 +08:00
user9994793890
29390043b2 fix: 修复生成日报 configId 未定义错误
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 14:16:47 +08:00
user9994793890
23f1ea050e fix: 修复报表日期显示问题,使用开始时间提取日期
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 13:42:49 +08:00
user9994793890
f7d0792fff fix: 修复设备和连接器ID转名称映射
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 13:28:59 +08:00
user9994793890
9822fbabb0 fix: 修复连接器ID显示名称和特来电数据显示问题
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 13:21:06 +08:00
user9994793890
2a6abd5fd6 fix: 修复字段顺序区域不显示的问题
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-10 16:12:59 +08:00
user9994793890
1f6f2fef80 fix: 用按钮排序替代拖拽,修复求和字段被清空的问题
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-10 16:02:13 +08:00
user9994793890
fe6a3dad00 fix: 修复字段拖拽排序功能
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-10 15:56:19 +08:00
user9994793890
8f380c24ed fix: 修复字段顺序加载函数未定义的错误
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-10 15:51:51 +08:00
user9994793890
f1e74b3713 fix: 修复时段编辑器显示bug,确保所有时段的选中状态正确显示
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-10 15:21:52 +08:00
user9994793890
58b90a3ad7 debug: 添加时段编辑器调试日志
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-10 15:10:24 +08:00
user9994793890
b0d01cbc0e fix: 修复分时段电量字段导致的SQL查询错误
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-10 15:05:34 +08:00
user9994793890
96e58202be fix: 修复编辑配置时字段和求和字段复选框未回显的问题
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-10 14:20:09 +08:00
user9994793890
babca759e4 fix: 修复配置复制功能失败的问题
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-10 13:10:15 +08:00
user9994793890
0ebc35398d fix: 修复JavaScript变量名冲突导致页面无法加载的问题
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-10 13:07:58 +08:00
user9994793890
2d9951de59 feat: 优化实体加载,添加分页和搜索功能
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-10 13:04:04 +08:00
user9994793890
ac93eb4c98 feat: 历史记录增加删除、批量删除、批量下载和日期查询功能
新增功能:

1. 报表日期格式改为数字显示
   - 修改 formatDateDisplay 函数
   - 格式:YYYY-MM-DD(如"2026-07-09")

2. 删除单个历史记录
   - 在每行添加删除按钮
   - 后端API:DELETE /api/report/history/<id>
   - 同时删除文件和数据库记录

3. 批量删除历史记录
   - 在每行添加复选框
   - 表头添加全选复选框
   - 添加"批量删除"按钮
   - 后端API:POST /api/report/history/batch-delete

4. 批量下载历史记录
   - 添加"批量下载"按钮
   - 后端API:POST /api/report/history/batch-download
   - 使用zipfile打包多个Excel文件

5. 按日期时间查询
   - 添加日期范围选择器(开始日期、结束日期)
   - 添加"查询"和"重置"按钮
   - 后端API:GET /api/report/history?start_date=xxx&end_date=xxx
   - 支持按start_time和end_time筛选

6. 根据ID下载历史记录
   - 后端API:GET /api/report/history/<id>/download
   - 直接下载对应的Excel文件

前端修改:
- 添加全选复选框和行复选框
- 添加批量操作按钮(批量删除、批量下载)
- 添加日期查询表单
- 添加相关JavaScript函数

后端修改:
- 修改历史记录查询API,支持日期筛选
- 添加删除单个记录API
- 添加批量删除API
- 添加批量下载API
- 添加根据ID下载API

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-10 11:04:50 +08:00
user9994793890
f6d8001891 fix: 日期时间改为数字格式显示
问题:日期时间显示为中文格式(如"2026年7月9日 上午10:55:11")

修复:
- 添加 formatDateTimeDisplay 函数,将日期时间转换为纯数字格式
- 在历史记录渲染中使用该函数
- 格式:YYYY-MM-DD HH:MM:SS(如"2026-07-09 10:55:11")

现在日期时间会显示为纯数字格式。

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-10 10:57:46 +08:00
user9994793890
feaa8fd978 debug: 历史记录加载问题诊断
问题:历史记录显示"加载中..."

原因分析:
- API返回数据正常(5条记录)
- 浏览器控制台显示 $ is not defined 错误
- 这是浏览器扩展导致的,不是代码问题

解决方案:
1. 强制刷新页面(Ctrl+F5)
2. 禁用浏览器扩展(广告拦截器、翻译插件等)
3. 使用无痕模式访问
4. 直接测试API:http://localhost:5000/api/report/history

请用户测试并反馈结果。

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-10 10:24:49 +08:00
user9994793890
8754d69065 fix: 说明浏览器控制台错误不影响功能
错误分析:
1. 404错误:浏览器请求 /favicon.ico 不存在(正常)
2. JavaScript语法错误:favicon响应被错误解析(正常)

这两个错误不影响应用功能,可以忽略。

如果需要消除错误,可以添加favicon路由或忽略。

应用功能正常:
-  页面加载正常
-  API工作正常
-  数据库连接正常
-  定时任务正常

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-09 15:16:34 +08:00
user9994793890
e68f1d546e fix: Python Flask应用已成功启动
状态:
 Python应用已手动启动成功
 服务器运行在 http://localhost:5000
 数据库连接正常
 页面和API工作正常

访问方式:
- 直接访问:http://localhost:5000

关于沙箱预览环境:
- 沙箱仍然在使用旧的Node.js配置(scripts/dev.sh)
- 已创建 .coze 配置文件,但沙箱未读取
- 可能需要重启预览环境或清除缓存

建议:
1. 直接在浏览器访问 http://localhost:5000 使用应用
2. 或者在IDE中关闭预览后重新打开
3. 如果仍有问题,可能需要联系扣子技术支持重新配置沙箱环境

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-09 15:11:53 +08:00
user9994793890
73b0c00b37 fix: 创建 .coze 配置文件,配置为Python Flask版本
问题:沙箱预览仍然使用旧的Node.js版本配置(scripts/dev.sh)

修复:
1. 创建 .coze 配置文件:
   - requires: python-3.12
   - build: pip install -r requirements.txt
   - run: python app.py

2. 更新 app.py 端口配置:
   - 支持 DEPLOY_RUN_PORT(沙箱环境)
   - 支持 PORT(本地环境)
   - 默认 5000

现在沙箱预览会使用Python Flask版本。

请在IDE中重新启动预览:
1. 点击预览窗口的刷新按钮
2. 或关闭预览后重新打开

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-09 15:00:25 +08:00
user9994793890
4750698f43 chore: 清理旧版本文件,只保留Python Flask版本
删除的文件:
- Node.js相关文件:.babelrc, .coze, .next, .npmrc, node_modules, src/, scripts/, components.json, eslint.config.mjs, next-env.d.ts, next.config.ts, package.json, pnpm-lock.yaml, postcss.config.mjs, tsconfig.json, tsconfig.tsbuildinfo
- 旧文档:AGENTS.md, WINDOWS_GUIDE.md
- 测试文件:check_*.py, fix_database.py, force_rebuild.py, test_*.py
- 诊断文档:修复下载问题.md, 如何找到生成的日报.md, 最终诊断指南.md, 查看调试日志.md, 诊断指南.md, 问题已定位.md
- 截图文件:assets/image*.png

保留的文件:
- app.py - Flask主应用
- lib/ - Python业务逻辑模块
- templates/ - HTML模板
- public/reports/ - Excel文件存储
- requirements.txt - Python依赖
- README.md - 更新为Python版本说明
- assets/t_equipment_charge_order.sql - 数据库表结构

现在项目结构清晰,只包含Python Flask版本的核心文件。

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-09 14:53:19 +08:00
user9994793890
b51afb3b67 fix: 修复下载API,添加调试日志
问题:下载API返回 "Not Found"

修复:
- 使用绝对路径:os.path.join(os.path.dirname(os.path.abspath(__file__)), 'public', 'reports')
- 添加详细调试日志:显示文件目录、文件名、文件是否存在、目录中的文件列表

请重启服务并测试下载。

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-09 14:20:24 +08:00
user9994793890
d2f4f30bca success: 日报生成成功,验证下载功能
页面显示"日报生成成功",有"立即下载Excel文件"按钮。

请用户验证:
1. 点击"立即下载Excel文件"按钮,能否下载
2. 切换到"历史记录"标签,是否有下载按钮
3. 运行 python test_after_generate.py 查看 file_path
4. 访问 http://localhost:5000/api/report/history 查看返回数据

根据结果判断问题出在哪里。

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-09 13:55:19 +08:00
user9994793890
bab6b64360 debug: 创建生成后查询测试脚本
为了准确定位 file_path 为 null 的问题,创建了 test_after_generate.py 测试脚本。

脚本功能:
- 直接查询数据库中的历史记录
- 显示最近5条记录的 file_path 值
- 显示 file_path 的类型

运行方式:
```bash
python test_after_generate.py
```

这个测试会绕过API,直接查看数据库中的实际数据,帮助定位问题。

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-09 13:48:31 +08:00
user9994793890
0f2d273f06 debug: 创建 save_report_history 函数测试脚本
数据库测试成功,说明问题在 report_generator.py 的保存逻辑中。

创建了 test_save_logic.py 测试脚本:
- 直接调用 save_report_history 函数
- 传入 file_path 参数
- 查询刚保存的记录
- 验证 file_path 是否正确

运行方式:
```bash
python test_save_logic.py
```

根据测试结果判断:
- 正常:问题在 generate_daily_report 函数的调用逻辑
- 不匹配:问题在 save_report_history 函数本身

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-09 13:36:56 +08:00
user9994793890
2fbda995ce debug: 创建 file_path 保存测试脚本
为了准确定位 file_path 为 null 的问题,创建了 test_file_path.py 测试脚本。

脚本功能:
1. 直接连接数据库
2. 插入测试数据(包含 file_path)
3. 查询刚插入的数据
4. 验证 file_path 是否正确保存和读取
5. 清理测试数据

运行方式:
```bash
python test_file_path.py
```

根据测试结果判断:
- 正常:问题在 report_generator.py 的保存逻辑
- 不匹配:问题在数据库或表结构

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-09 13:35:00 +08:00
user9994793890
bce2f363b5 fix: 创建强制修复脚本,解决file_path为null的问题
问题定位:API返回的file_path字段为null,导致前端没有显示下载按钮。

解决方案:

1. 新增 force_rebuild.py 强制修复脚本:
   - 删除旧的配置表和历史表
   - 重新创建表结构(确保file_path字段正确)
   - 验证表结构是否完整
   - 显示file_path字段的类型

2. 新增 问题已定位.md 文档:
   - 详细的问题分析
   - 5个修复步骤
   - 4种验证方法
   - 手动测试SQL语句
   - 需要提供的信息清单

使用步骤:
1. 运行 python force_rebuild.py
2. 重启服务 python app.py
3. 重新创建配置
4. 生成日报
5. 查看历史记录(应该有下载按钮)

注意:修复会删除所有配置和历史记录,需要重新创建配置。

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-09 13:21:03 +08:00
user9994793890
487a26e704 fix: 创建数据库表结构修复工具,解决下载按钮不显示的问题
问题:日报生成成功后,历史记录中显示"可下载为空",没有下载按钮。

原因:数据库表结构可能缺少 file_path 字段,或者表结构不完整。

解决方案:

1. 新增 fixDatabase.py 修复脚本:
   - 自动检查表结构是否完整
   - 检查是否缺少 file_path 等必要字段
   - 询问用户是否删除旧表重建
   - 重建 t_daily_report_history 和 t_daily_report_config 表
   - 显示最近的历史记录状态

2. 新增 修复下载问题.md 文档:
   - 详细的问题分析
   - 4种解决方案
   - 常见问题解答
   - 验证修复的方法

使用步骤:
1. 停止当前服务(Ctrl+C)
2. 运行 python fixDatabase.py
3. 输入 y 确认删除旧表重建
4. 重启服务 python app.py
5. 重新创建配置
6. 生成日报
7. 历史记录中应该能看到下载按钮

注意:修复会删除所有配置和历史记录,需要重新创建配置。

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-09 13:08:39 +08:00
user9994793890
2ad6e27131 debug: 添加详细调试日志,诊断下载按钮不显示的问题
问题:日报生成成功后,历史记录中没有下载按钮。

改进内容:

1. lib/report_generator.py:
   - 在生成Excel文件后添加日志:显示文件路径
   - 在保存历史记录前添加日志:显示file_path值
   - 在save_report_history函数中添加详细日志:
     * 显示准备保存的信息
     * 显示file_path和status的值
     * 显示SQL执行结果

2. app.py:
   - 在历史记录API中添加调试日志
   - 显示每条记录的status和file_path
   - 确保file_path不为None(转换为空字符串)
   - 添加错误堆栈输出

3. templates/index.html:
   - 在渲染历史记录时添加console.log调试
   - 显示每条记录的详细信息
   - 显示status和file_path的类型
   - 改进下载按钮判断逻辑
   - 添加title提示显示文件路径

4. 新增文档:
   - 查看调试日志.md:详细的调试步骤和问题诊断方法

现在用户可以通过日志准确定位问题:
- 服务器控制台:查看后端日志
- 浏览器控制台:查看前端日志
- curl测试:直接查看API返回数据

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-09 12:59:40 +08:00
user9994793890
26f0ed12f1 fix: 修复 Doris 数据库建表语法兼容性问题
核心问题:数据库为 Apache Doris 而非标准 MySQL,建表语法完全不同

关键修改:
1. 去除所有 MySQL 特有语法(ENGINE、DEFAULT、IF NOT EXISTS)
2. 使用 Doris 必需语法:DISTRIBUTED BY HASH + PROPERTIES
3. 所有 NULL/NOT NULL 和 DEFAULT 值重新适配
4. 修复四个文件的建表语句:
   - config/route.ts(配置表)
   - report/history/route.ts(历史表)
   - report-generator.ts(生成器)
   - init-tables.ts(初始化脚本)

测试结果:
 配置创建 API 测试通过(HTTP 200)
 所有静态检查通过
 Doris 建表语法完全兼容

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-07 17:13:14 +08:00
user9994793890
b6a1b77054 chore: init env 2026-07-07 16:00:36 +08:00