kkfluous
559094cdc5
fix: decouple mileage KPIs from sorting
2026-08-07 18:44:49 +08:00
kkfluous
c0d504cb7b
feat: persist mileage monitoring context
2026-08-07 18:39:13 +08:00
kkfluous
d958f3b28f
fix: bind mileage list to request context
2026-08-07 18:30:49 +08:00
kkfluous
f8e926876c
fix: make mileage fullscreen failures visible
2026-08-07 18:23:50 +08:00
kkfluous
6bf88a25e3
fix: preserve vehicle drill date context
2026-08-07 18:16:14 +08:00
kkfluous
017001e889
fix: preserve dated vehicle panel snapshots
2026-08-07 18:09:52 +08:00
kkfluous
b11187aba7
fix: surface mileage child request failures
2026-08-07 18:01:38 +08:00
kkfluous
a344497505
fix: distinguish mileage statistics failures
2026-08-07 17:58:54 +08:00
kkfluous
d1ed3903fe
feat: flag mileage target coverage gaps
2026-08-07 17:52:49 +08:00
kkfluous
bca0f7fe82
feat: publish mileage assessment freshness
2026-08-07 17:49:52 +08:00
kkfluous
2de417e109
fix: reconcile mileage attribution totals
2026-08-07 17:42:21 +08:00
kkfluous
67a269651e
feat: preserve mileage assessment years
2026-08-07 17:37:05 +08:00
kkfluous
52d79ba260
feat: preserve BI sub tab history
2026-08-07 17:31:09 +08:00
kkfluous
47a4474608
feat: surface BI data source health
2026-08-07 16:09:01 +08:00
kkfluous
8c6a3ad831
refactor: show mileage data freshness
2026-08-07 15:50:24 +08:00
kkfluous
de2a0896c4
perf: reuse mileage monitoring snapshots
2026-08-07 15:48:07 +08:00
kkfluous
616341adc8
perf: make mileage pagination explicit
2026-08-07 15:37:07 +08:00
kkfluous
08097f7c29
refactor: surface BI metric definitions
2026-08-07 15:12:34 +08:00
kkfluous
b2044109e3
refactor: build drillable mileage daily report
2026-08-07 14:27:19 +08:00
kkfluous
91031bd034
refactor: add mileage attribution drilldown
2026-08-07 14:15:31 +08:00
kkfluous
f24a18e459
refactor: persist mileage drill context in URL
2026-08-07 14:00:43 +08:00
kkfluous
13e720c2c3
refactor: add weighted mileage completion metric
2026-08-07 13:51:58 +08:00
kkfluous
17c839a35e
feat(mileage): add statistic-time sorting and refresh control
ci/woodpecker/push/woodpecker Pipeline was successful
2026-07-23 15:44:01 +08:00
kkfluous
6b72f0ce3c
feat(mileage): default to instrument-only source
2026-07-23 15:12:36 +08:00
kkfluous
d8773ff0a0
feat(mileage): add OneOS source priority controls
2026-07-23 14:11:52 +08:00
kkfluous
3f29bed5fa
feat: integrate OneOS mileage APIs and release v1.1.10
ci/woodpecker/push/woodpecker Pipeline was successful
2026-07-23 12:19:11 +08:00
kkfluous
4d523cbce0
feat(mileage): add daily mileage columns to main export sheet
...
ci/woodpecker/push/woodpecker Pipeline was successful
- '车辆汇总' sheet now includes per-day mileage columns for date ranges
- Daily columns shown as 'MM-DD里程(km)' between base info and summary cols
- Freeze pane fixed at 7 base columns for horizontal scrolling
- '每日明细' sheet retained as detailed backup
- Bump version to 1.1.9
2026-07-15 14:30:16 +08:00
kkfluous
2b31f8efe8
feat(mileage): add brand multi-select filter and customer fuzzy search
...
ci/woodpecker/push/woodpecker Pipeline was successful
- Add brand multi-select filter (BatchMultiSelect) with 17 brand options
- Replace customer select with SearchableSelect for fuzzy search
- Server-side: add brand to vehicle-info SQL, cache, filters, and monitoring
- Customer filter now uses case-insensitive includes match on server side
- Add brand column to fullscreen table header and body
- Mobile-adaptive: compact inputs, constrained widths, scrollable dropdowns
- Bump version to 1.1.8
2026-07-15 14:25:11 +08:00
lingniu
a558db5795
Polish mobile BI filters and summaries
ci/woodpecker/push/woodpecker Pipeline was successful
2026-06-27 22:43:43 +08:00
lingniu
b0caa5afcb
feat: polish BI dashboards and bump version
ci/woodpecker/push/woodpecker Pipeline was successful
2026-06-27 21:59:33 +08:00
kkfluous
67c5f9d281
support mileage batch multi-select
ci/woodpecker/push/woodpecker Pipeline was successful
2026-06-18 10:18:35 +08:00
kkfluous
c13f341d5e
feat(ui): 页面标题区分能源BI与资产BI,资产页增加OneOS迁移提示滚动条
ci/woodpecker/push/woodpecker Pipeline was successful
2026-06-11 15:30:21 +08:00
kkfluous
5bb3ceb47a
fix(mileage): 交投高里程车辆标红
ci/woodpecker/push/woodpecker Pipeline was successful
2026-06-03 15:10:36 +08:00
kkfluous
cc778f3701
fix(mileage): 导出保留里程小数
ci/woodpecker/push/woodpecker Pipeline was successful
2026-06-03 14:54:30 +08:00
kkfluous
74d6efe261
Revert "fix(mileage): 区分年度累计里程和计入完成"
...
This reverts commit 3f0edfaaf5 .
2026-06-03 14:53:54 +08:00
kkfluous
3f0edfaaf5
fix(mileage): 区分年度累计里程和计入完成
ci/woodpecker/push/woodpecker Pipeline was successful
2026-06-03 11:18:48 +08:00
kkfluous
5e1c12eba2
fix(mileage): 减少车型展开时页面抖动
ci/woodpecker/push/woodpecker Pipeline was successful
2026-06-02 16:01:47 +08:00
kkfluous
ae24bc7647
fix(mileage): 已到期年度显示考核期末日期
ci/woodpecker/push/woodpecker Pipeline was successful
2026-06-02 15:50:35 +08:00
kkfluous
0a372e4290
fix(mileage): 消除年度完成日期歧义
ci/woodpecker/push/woodpecker Pipeline was successful
2026-06-02 15:48:01 +08:00
kkfluous
1e08d1ea62
fix(mileage): 标注年度已进入车辆数
ci/woodpecker/push/woodpecker Pipeline was successful
2026-06-02 15:34:25 +08:00
kkfluous
2d82918d73
fix(mileage): 年度考核区间按批次展示
ci/woodpecker/push/woodpecker Pipeline was successful
2026-06-02 15:33:08 +08:00
kkfluous
482243e052
feat(mileage): 支持车型按考核年度查看
ci/woodpecker/push/woodpecker Pipeline was successful
2026-06-02 15:30:13 +08:00
kkfluous and Claude Opus 4.7
7e6fd491b0
fix(mileage): 当日未对接但有历史 totalKm 的车今日里程显示 0 不是「未对接」
...
ci/woodpecker/push/woodpecker Pipeline was successful
承接上一笔修复:兜底拿到 totalKm 后,今日里程也应该理解为 0(这车
在系统里有数据,只是今天没增量),而不是再贴「未对接」标签。
涉及:
- MonitoringView 表格 + 卡片:dailyKm 显示与对应颜色 / amber 点
- xlsx-export「今日里程」列
判定改成 (isDataSynced || totalKm != null);
isOnline / 在线-离线 标签不变(基于 dailyKm > 0,与本次语义无关)。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-07 15:27:23 +08:00
kkfluous and Claude Opus 4.7
1c57eb4a58
fix(mileage): 累计里程展示不再被「未对接」状态盖掉
...
ci/woodpecker/push/woodpecker Pipeline was successful
后端 cache 已用 fetchLatestPgTotalMileageMap 在当日 source=NONE 时
回填该车 ln_vehicle_day_total_pg 最近一条 total_mileage,但前端
表格 / 卡片 / Excel 都用 isDataSynced && totalKm != null 判定,
未对接车被锁回「未对接」文案。
调整为:
- 今日里程仍按 isDataSynced 显示「未对接」(今天确实没增量)
- 累计里程只看 totalKm 是否为 null,未对接但有历史值的车现在能显示
实测 粤A03423F:source=NONE / dailyKm=0 / totalKm=9205.6
原来「总: 未对接」→ 现在显示 9205.6 km
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-07 15:20:33 +08:00
kkfluous and Claude Opus 4.7
e8f1604c11
feat: 全局反馈系统 + 各模块底部统一动态提示
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 新增 components/RotatingFooterHint:统一文案+蓝色脉冲,4 秒轮换
- 新增 components/FeedbackFab:右下角悬浮按钮(渐变 + 心形信封 + 黄色脉冲点),
点击打开 4 步引导式弹窗
Step 1 选类型(💡 新维度 / 🐛 bug / 🎨 界面 / 📝 其他)
Step 2 描述需求 + 选当前板块(chip)
Step 3 留联系方式(可选)+ 提交概览
Step 4 ❤️ 成功页(弹簧 √ 动画)
顶部 spring 进度条,底部上一步/下一步,下拉手柄,背景点击或 X 关闭
- 后端 routes/feedback:bi_user_feedback 表(自动建表,含 status 字段)
POST /api/feedback/submit + GET /api/feedback/list
- Shell 全局挂载 FeedbackFab,自动从 hash 检测当前模块
- 各模块底部追加 RotatingFooterHint:
AssetsModule / MileageModule / SchedulingModule / EleImportPage
HydrogenOverview / HydrogenDaily / ElectricOverview / ElectricDaily
(HydrogenOverview 旧的内嵌实现已替换为共享组件)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-30 13:50:39 +08:00
kkfluous and Claude Opus 4.7
66779a98e3
fix(mileage): 弹窗关闭改为向下滑出 + 淡出
...
ci/woodpecker/push/woodpecker Pipeline was successful
- exit 从 y:60 改为 y:'100%',整张表自顶向下滑出屏幕
- y/opacity 拆分 transition:y 走 spring,opacity 走 0.18s 淡出
- initial 也改为 y:'100%' 让出现/消失对称
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-29 17:16:57 +08:00
kkfluous and Claude Opus 4.7
97ac92a0da
feat(mileage): 车辆明细弹窗新增时间范围切换、骨架加载与下滑关闭
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 后端 vehicle/:plate/recent 支持 start/end 任意区间,最长 366 天
- 前端弹窗加 segmented control: 近 15 天 / 本月 / 本季度,切换重新加载
- 加载时柱状图与每日明细均显示骨架,区间合计/日均/有数据天 KPI 同步骨架
- 数据回来后柱条与每行进度条带渐入动画
- 顶部加 iOS 风格 drag handle(小白条),按住下滑超过 100px 或大速度触发关闭
- 保留点击背景与 X 按钮两种关闭方式
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-29 17:14:47 +08:00
kkfluous and Claude Opus 4.7
7ca8ef24dc
feat(mileage): 点击车辆卡片展示近 15 日行驶里程明细
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 后端新增 GET /api/mileage/vehicle/:plate/recent,返回近 N 天 + 今日的每日里程
- 缺失日补全为 dailyKm=0 + isDataSynced=false
- 前端新增 VehicleDetailModal:头部信息、合计/日均/有数据天 KPI、近 N 日柱状图、每日明细列表
- 移动端从底部弹起;缺失日柱条置灰,明细行标注「未对接」
- 卡片点击改为打开弹窗(不再复制车牌)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-29 16:16:54 +08:00
kkfluous and Claude Opus 4.7
f9c6155ea7
fix(mileage): 修复车牌多选弹窗手机端右侧溢出与粘贴行为
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 弹窗改为 right-0 锚右,宽度 min(280px, vw-24px),避免在窄列触发器下右侧溢出
- 移除 onPaste 自动 apply(避免与已输入文本拼接出非预期 token),改为粘贴入框 + 点击「添加」或 Cmd/Ctrl+Enter 确认
- placeholder 文案补充提示
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-29 16:12:19 +08:00
kkfluous and Claude Opus 4.7
cab86556f3
feat(mileage): 区域与车牌列表级联,并自动剔除越界车牌
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 后端: 选中 region 时基于该区域车辆重算 filters,车牌列表只展示该区域
- 前端: filterOptions.plates 收窄后自动从已选车牌中剔除不属于新区域的项
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-29 15:31:12 +08:00