Commit Graph

35 Commits

Author SHA1 Message Date
wangfq
8a6b5c6d07 测试信息页面优化: 限制6000条、字段调整、车检器序列号搜索
- 查询/导出/图表统一 LIMIT 6000 条
- 列顺序: 时间→第一列, 测试模式→最后一列, 隐藏ID
- 设备编码只显示后6位, 默认每页100条
- 新增车检器序列号搜索 (detector_serial LIKE)
- 四个文件同步修改: models.py, test_data.py, test_data.js, test_data.html
2026-06-18 09:44:18 +08:00
wangfq
4b082e35df refactor: 调整车检器序列号相关命名 2026-06-15 13:41:22 +08:00
wangfq
521cbe4107 feat: edc-web 支持车检器序列号输入与显示
- 自动化测试区域新增「车检器序列号」输入框
- 回车键自动触发「开始」按钮
- /api/automation/start 接收 detector_serial,写入 tb_pending_detector
- 测试操作页 + 测试信息页(全部/B2/B4)显示序列号,空时显示 '-'
- 页面加载和测试结束后焦点自动回到序列号输入框(全选),方便连续测试
2026-06-15 10:02:51 +08:00
wangfq
0dfb928375 feat: 被动轮询间隔改为 3 秒 + 新增 B2 记录条数显示
- 数据轮询独立于设备状态刷新:refreshLatestData 每 3 秒,refreshAll 每 5 秒
- 「当前测试数据」标题旁显示新记录条数 (x 条新记录)
- 仅 B2(灵敏度测试) 新记录计数,页面加载/自动化开始时复位
- pollProgress 同步更新计数器,自动化与被动模式无冲突
2026-06-12 11:10:09 +08:00
wangfq
aa2815b5cc fix: analyst 访问受限页面时自动跳转到测试数据页,并显示提示 2026-06-11 17:32:44 +08:00
wangfq
17e1d232e8 feat: 增加 analyst 角色——仅测试数据查询/下载+修改密码 2026-06-11 17:21:49 +08:00
wangfq
501e58b65f fix: UI 标签优化、继电器着色、工装配置概览面板
- fixture.js: FarTol/NearTol/StepTol 容差字段去掉 ×10 换算
- test_data.js: relay_out 列增加 fmtRelay() 着色渲染
- test_op.js: 新增工装配置概览面板 (renderConfigOverview + toggleConfig);新增 fmtRelay();renderLatest 继电器着色
- fixture.html: 标签文本优化 — 触发距离/释放距离/mm/V 单位标注
- test_op.html: 新增配置概览面板 HTML,隐藏旧 test-mode-indicator
- vehicle_base_test.html: 标签文本统一(触发/释放距离 + 单位)
- .gitignore: 新增,排除 __pycache__/*.pyc/.venv
2026-06-11 10:01:49 +08:00
wangfq
000e4f8d3a feat: 增加 manager 角色,admin+manager 共享管理权限(用户管理除外),所有用户可自行修改密码
- auth.py: 新增 privileged_required 装饰器 (admin+manager),admin_required 仅限用户管理
- 路由权限: fixture/logs/device_logs/test_data 的 admin 检查改为 admin+manager
- 前端: 导航栏/删除按钮/配置按钮扩展为 admin+manager 可见
- 用户管理: 角色下拉增加 manager 选项,仍仅 admin 可访问
- 新增 /change-password 路由+模板,所有登录用户可自行修改密码
- edc_server models.py: role COMMENT 更新 + ALTER TABLE 迁移
2026-06-11 09:11:54 +08:00
wangfq
d3b6d79a03 feat: 设备日志增加时间范围查询 + CSV 导出
- 查询 API 增加 date_from/date_to 参数(前端日期+时间选择器)
- 新增 /api/device-logs/export CSV 导出端点
- 新增 export_device_logs() 模型函数(全量不分页)
- 删除校验放宽:允许纯时间范围作为删除条件
- 前端增加导出 CSV 按钮,遵循 test_data 页面模式
2026-06-10 10:44:19 +08:00
wangfq
6b35d07025 fix: 设备日志页 fmtTime 修复时区偏移 8 小时
Flask jsonify 把 MySQL DATETIME 序列化为 '... GMT' 但实际是本地时间。
JS new Date() 按 GMT 解析后在 UTC+8 显示会多 8 小时。
统一去除 GMT 后缀再解析(与 test_op.js 相同方案)。
2026-06-10 10:14:07 +08:00
wangfq
5df08a26a9 fix: 设备日志页增加 TCP 连接/断开事件类型支持 2026-06-10 10:01:12 +08:00
wangfq
ee136cc707 feat: edc-web 设备日志管理页 + 在线状态实时刷新
- 新增 /device-logs 设备事件日志管理页 (admin 权限)
  - 支持按设备序列号/事件类型筛选查询
  - 支持 admin 按条件删除日志
  - 不同事件类型彩色标识 (在线=绿, 离线=红, 通信不良=橙)
- 新增 /api/devices/<id>/status 设备状态 API
- 设备列表页:每 5s 异步刷新所有设备在线状态
- 测试操作页:顶部显示设备状态,每 5s 异步刷新
- dnt_info state 支持三态显示 (在线/离线/通信不良)
- 导航栏增加「设备日志」入口 (admin only)
2026-06-10 09:14:32 +08:00
wangfq
60c11fe719 feat: 测试操作页显示当前测试模式,灵敏度模式下隐藏波动数据区
- 页面头部新增测试模式指示器(灵敏度测试/波动测试)
- 灵敏度模式时隐藏「波动测试数据」区块
- loadTestMode() 从工装参数获取 TestMode,无参数时回退到最新测试数据
- renderLatest 收到新数据时同步更新模式指示
2026-06-09 17:41:07 +08:00
wangfq
8aaa8440d1 feat: 配置功能仅admin可用,operator隐藏配置按钮+后端403拦截
- devices.html: 注入 USER_ROLE 全局变量
- devices.js: 配置按钮仅 USER_ROLE===admin 时渲染
- fixture.py: 页面/指令/保存三个路由均校验 admin 角色
2026-06-09 15:36:08 +08:00
wangfq
69babe9994 style: 测试信息表格列不换行,列宽不小于标题 2026-06-09 14:17:25 +08:00
wangfq
421d735274 refactor: 测试信息页去掉地址/类型列,表格横向可滚动
- all/B2/B4 三视图均移除 dpg430_addr(地址) 和 str_type(类型) 列
- 表格包裹在 overflow-x:auto 容器中,列多时横向滚动
2026-06-09 14:11:55 +08:00
wangfq
c0e77398d4 fix(fixture): 配置页面距离/容差值跟随单位 cm→mm 转换
- fillFormFromParam: DB值(cm) ×10 显示(mm)
- getFormParams: 表单值(mm) ÷10 存回(cm)
- HTML max: 255→2550 (适配mm)
- 0x4B下发/0x4C回读均正确:前端处理转换,协议仍用cm
2026-06-08 16:54:54 +08:00
wangfq
2b71abaec8 fix(fixture): 复位距离/皮距/容差单位 cm→mm 2026-06-08 16:51:43 +08:00
wangfq
431653d033 feat(edc-web): 线圈参数/模拟车辆参数管理 + 工装关联 + 测试环境显示
新增功能:
- 线圈参数管理页 (/coil-info): 增删改查,日志记录
- 模拟车辆管理页 (/simulate-car): 增删改查,日志记录
- 工装配置页新增线圈/模拟车辆选择区,保存时关联到 tb_fixture_param
- 测试信息查询页新增「测试环境」列,显示当前线圈和模拟车辆信息
- edc_server 写入测试数据时自动从 fixture 获取线圈/车辆关联

数据库:
- 新增 tb_coil_info、tb_simulate_car 表
- tb_fixture_param 增加 coil_id/simulate_car_id 字段
- tb_state_tst 增加 coil_id/simulate_car_id 字段

后端:
- models.py 新增线圈/模拟车辆 CRUD
- get_fixture_param 改为 LEFT JOIN 返回线圈/车辆详情
- upsert_fixture_param 支持 coil_id/simulate_car_id
- 测试数据查询 LEFT JOIN 线圈/车辆信息
2026-06-08 10:42:13 +08:00
wangfq
e538efafb5 feat(test_data): 搜索页面增加时分秒时间筛选
- HTML: 日期范围旁加 time input (step=1s),标签改为'时间范围'
- JS: 新增 getDatetime() 合并日期+时间,统一查/导出/图表/删除
- 后端: date 参数智能判断,纯日期自动补 23:59:59,带时间原样使用
2026-06-08 08:56:01 +08:00
wangfq
6a3aaf3c05 feat: admin用户支持删除测试数据(按条件/日期范围),含确认框+日志 2026-06-05 13:44:46 +08:00
wangfq
877770aeab feat: 测试信息增加图表视图(ECharts),表格/图表一键切换
- B2视图:峰峰值/频率/距离/速度 趋势折线图,三Y轴
- B4视图:工作频率/距离/速度 趋势折线图,三Y轴
- dataZoom时间范围缩放,图例可切换系列显隐
- 新增 /api/test-data/chart 接口返回全量数据
2026-06-05 11:49:35 +08:00
wangfq
3151d71cdc feat: 测试信息页增加每页记录数选择(20/50/100) 2026-06-05 10:41:50 +08:00
wangfq
59ddbe8d90 chore: 默认间隔改为10s,超时改为5s 2026-06-04 09:56:09 +08:00
wangfq
79ec89b3a9 feat: 自动化测试增加间隔时间和超时时间参数
- 新增两个输入框:间隔时间(秒)、超时时间(秒)
- 间隔逻辑:收到回复后等待间隔时间再发下一条 0xB0
- 超时逻辑:超时后不等间隔,立即发下一条
- 状态机驱动:IDLE→SENT→(回复→WAIT_INTERVAL→SEND)/(超时→SEND)
- 增加实时状态提示栏
2026-06-04 09:54:13 +08:00
wangfq
d00d199558 refactor: 测试信息页拆为三视图(全部/B2/B4),按data_source自动切换列
- 移除混杂的24列大表,改为三个标签页切换
- 全部视图: 精简核心字段
- B2视图: 峰峰值、频率、距离、速度、故障、完成状态
- B4视图: 剩余次数、当前距离、速度、波动范围、进入/离开高度
- 后端增加data_source查询/导出参数支持
2026-06-03 17:02:27 +08:00
wangfq
a69d7ab1d0 feat: 波动测试模式前端适配 — tb_state_tst扩展+0xB4存库+页面更新
- edc_server/models.py: tb_state_tst DDL增加test_mode/data_source + B4字段
  + ALTER TABLE自动迁移 + insert_test_result扩展 + insert_wave_data
- edc_server/handlers.py: 0xB2处理传test_mode、0xB4处理调用insert_wave_data存库
- edc-web/models.py: 新增get_latest_wave_data/get_wave_records + test_mode筛选
- edc-web/routes: test_op返回wave数据、test_data支持test_mode筛选
- 前端: test_op页面增加波动数据显示区+测试模式列
  test_data页面增加test_mode下拉筛选+B4字段列+CSV导出适配
2026-06-03 14:14:52 +08:00
wangfq
6929faddfc fix: 恢复 FarStay 为 2 字节 — 协议+代码+前端全部回退 2026-06-03 13:40:23 +08:00
wangfq
3d7aec4cad fix: FarStay 2B→1B 匹配设备实际固件
协议: 0x4B LEN=0x16, 0x4C LEN=0x1A
代码: build_4b FarStay 1B, parse_4c FarStay payload[24]
前端: FarStay max=255
2026-06-03 11:52:42 +08:00
wangfq
ef796f6213 feat: DG430 V2.0.3 — 波动测试模式 前端+后端同步
edc_server:
  - dg430.py: 新增0xB4解析; 0x4C扩展6字段(向后兼容)
  - models.py: tb_fixture_param DDL + upsert 新增6字段
  - handlers.py: parse_loop 添加0xB4处理; 0x4C传参扩展

edc-web:
  - fixture.py: build_4b_packet() 新增6个波动参数
  - models.py: upsert_fixture_param 字段列表扩展
  - fixture.html: 新增波动测试参数输入区(6字段)
  - fixture.js: getFormParams/fillForm/saveToDb/sendConfig 全部扩展
2026-06-02 18:06:14 +08:00
wangfq
dbe5d1cefb feat: 工装配置页面 + 车检器基准参数管理
- 设备页增加「配置」按钮(devices.js)
- 新增工装配置页面(fixture.html+js): 参数表单、5个操作按钮、通信日志区、基准参数表
- 新增车检器基准参数管理页面(vehicle_base_test.html+js): CRUD + 搜索
- 新增 fixture 蓝图(routes/fixture.py): 0x4A~0x4E 指令发送、参数CRUD、serialnet状态查询
- models.py: 新增 get_serialnet_by_id, tb_fixture_param/tb_vechicle_base_test CRUD
- edc_server 子模块更新
2026-05-29 17:26:07 +08:00
wangfq
60215eef48 feat: 自动化增加起止时间 + 本轮每次测试明细表
- 显示自动化开始/结束时间
- 测试信息区新增本轮测试明细表(序号、状态、关键字段)
- 方便对照平均值是否计算正确
2026-05-28 15:19:20 +08:00
wangfq
dee27eb3be fix: 平均值只算本次启动后的记录 + 速度 dm/s→m/s
- 平均值按 automation 开始时间过滤,不再包含历史数据
- 速度单位从 dm/s 转为 m/s(÷10),前端/后端同步转换
2026-05-28 14:54:21 +08:00
wangfq
322563dab0 feat: 用户登录/管理 + 操作日志模块
- tb_user 用户表、tb_log 日志表
- Flask-Login 认证(login/logout/权限装饰器)
- 用户管理页(admin 专有):增删改查、改密、角色设置
- 操作日志页:分页查询、按用户/类型筛选
- 测试操作区指令自动记录日志
- 所有页面加 @login_required 保护
- 默认管理员 admin/admin123(首次启动自动创建)
2026-05-28 13:58:19 +08:00
wangfq
70dd3f8246 feat: 新增 edc-web Flask 前端管理系统 + 需求文档
- edc-web: Flask 项目骨架(设备管理、测试操作、测试信息三大页面)
- edc_server: 升级子模块(tb_serialnet 透传支持)
- docs: 测试工装EDC管理系统需求文档
2026-05-28 09:40:45 +08:00