shishengliang
9b0980e349
fix: refresh vehicle asset statistics every 5 seconds
ci/woodpecker/push/woodpecker Pipeline was successful
2026-09-22 19:50:58 +08:00
shishengliang
b15951f08b
fix: collapse daily vehicle flow details by default
ci/woodpecker/push/woodpecker Pipeline was successful
2026-09-20 09:54:36 +08:00
shishengliang
8fb574599b
fix: align asset customer data with OneOS and refine statistics display
ci/woodpecker/push/woodpecker Pipeline was successful
2026-09-20 09:51:31 +08:00
shishengliang
0c26b973ef
feat(assets): align flow statistics and separate abnormal inventory
...
ci/woodpecker/push/woodpecker Pipeline failed
Use operations signing times and delivery completion statuses; include replacement deliveries in delivery totals with range drilldowns and exports. Separate abnormal vehicles from inventory, add a date range picker, and enable CI for feature/asset-statistics.
2026-09-16 10:35:50 +08:00
shishengliang
6ea1b3d5dd
revert: restore v1.1.14 ( 37a9f303)
ci/woodpecker/push/woodpecker Pipeline failed
2026-09-16 09:29:30 +08:00
dsh-agent
507bc90ed2
refactor(stage5): 合并重复实现,移除失效的演示能力
...
Excel 导出(原先 4 份各自拼装 workbook)
- 新增 src/shared/xlsx.ts 作为唯一实现:文件名统一 .xlsx、sheet 名截断到 31 字符,
对外提供 buildAoaSheet / buildJsonSheet / writeWorkbook / exportAoaSheet / exportJsonSheet。
只收敛"组装与写出"这一层,各调用方仍自行决定列宽、冻结与数字格式,导出样式不变。
- 迁移 assets(内联 json_to_sheet + writeFile)、mileage/xlsx-export、
hydrogen 的两份 helper(prototype-download.ts 与 download-xls.js,均已删除)。
高德地图(原先 2 份近乎逐行复制)
- 新增 src/shared/amap.ts:SDK 版本、插件列表、安全码注入、底图参数、
控件位置与热力图色带只在此处定义;两个画布只保留各自的半径/透明度。
- 图例渐变条原先把同一组色值又写了一遍,改为复用 shared 的常量,图例与地图不会漂移。
数值格式化
- 两个下钻视图各自复制了同样的 formatNumber/format(共 42 处调用),
统一到 hydrogen/model/display-format.ts 的 formatFixed;默认路径与既有行为逐字一致。
- 原 display-format.ts 里的 finiteNumber/formatNumber/formatScaled 无任何生产调用方,
只被自己的测试引用;改为 formatFixed + blankForMissing 显式选项,
既保留了"真零 vs 不可用"的区分能力,也不再留无人使用的导出。测试同步重写。
失效的演示能力
- Blur / DemoModeProvider 恒为 enabled=false,等于永久 no-op:
移除 13 个文件里 50 处 <Blur> 包裹(渲染结果不变)、删除 components/Blur.tsx
与 Shell 中的 Provider,调用方直接渲染原表达式。
未做(刻意)
- src/lib/cn.ts 不引入 tailwind-merge:全仓只有 2 处调用,不值得新增传递依赖。已在文档说明。
架构守护新增 2 条:只有 shared/amap.ts 可加载高德 SDK;
modules/** 不得再出现 book_new / book_append_sheet / writeFile(。
lint / test(137) / build 全绿,可达性仍为 0 未引用文件。
2026-09-11 10:28:32 +08:00
kkfluous
06fe75b4c7
refactor: modularize application domains
2026-08-13 12:03:34 +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
fb5789d705
update asset refresh status
ci/woodpecker/push/woodpecker Pipeline was successful
2026-06-18 14:18:40 +08:00
kkfluous
94a6e0a75e
update asset validation banner
ci/woodpecker/push/woodpecker Pipeline was successful
2026-06-18 14:04:27 +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 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
355c45a2e4
fix(assets): 区域车型分解新增「待交车」字段,并合入「其他」车型
...
ci/woodpecker/push/woodpecker Pipeline was successful
- typeBreakdown 之前只产 4.5T/18T/49T 且仅含 inventory 字段,
导致区域级 待交车 与车型级 待:N 不一致、操作中合计 != 区域合计
- 后端 getTypeBreakdown 计算 pending(status==='Pending'),
并把不属 4.5T/18T/49T 的车辆聚合为「其他」类型
- 前端区域 mobile/desktop 视图把「待:」从 inventory 改读 pending
- 点击穿透的 category 也由 'Inventory' 改 'Pending'
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-29 17:21:37 +08:00
kkfluous and Claude Opus 4.7
cfe79cace2
fix(assets): correct modal filtering for 待交车/库存-其他/本周X
...
ci/woodpecker/push/woodpecker Pipeline was successful
三个弹窗筛选问题一起修:
1. 待交车 drill-in:Pending 原本错归入 weekly-detail(该接口不支持
model/batch/location 过滤),改走 /list 并给 /list 的 category 分支
补上 'Pending' 状态匹配。
2. 库存-其他:'其他' 同时存在于两个体系——资产表的"库存-其他"
(mapRegion 结果) vs 区域统计的"其他"(mapMacroRegion 结果),
过滤语义完全不同。引入 source 参数由前端传递,source==='asset'
时按 v.location 匹配(库存语义),否则按 mapMacroRegion(宏观区域)。
抽取 filterByLocation 辅助函数供 /list 与 /weekly-detail 共用。
3. 本周交车/还车/替换:/weekly-detail 接口新增 model/batch/location/source
过滤;前端 fetchWeeklyDetail 签名扩容。实现方式:SQL 结果与缓存
车辆集(按过滤条件筛)按 truck_id 取交集。
4. BIGINT 精度丢失:DELIVERED_SQL / RETURNED_SQL / REPLACED_SQL 及
pending/new 子查询原本使用裸 truck.id,mysql2 驱动把 BIGINT 当
JS Number 返回,大 id (>2^53) 尾部被截,导致 truck_id 交集永远
为空。全部改为 CAST(truck.id AS CHAR),与 MAIN_SQL 保持一致。
5. fetchVehicleList 类型补上 source,避免前端传的 source 被 URLSearchParams
构造时静默丢弃。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-24 11:00:45 +08:00
kkfluous and Claude Opus 4.6
820fde5547
feat: 资产总览新增所属公司筛选,支持按归属主体过滤全页数据
...
ci/woodpecker/push/woodpecker Pipeline failed
- 后端:新增 /api/vehicles/subjects 端点返回公司列表+台数预览;所有聚合端点接受 ?subject= 参数按 tab_truck.org_id 对应的主体公司过滤
- 前端:标题下方新增 Scope Chip 单选下拉,支持搜索+台数预览,选中后全页 KPI/汇总/库存统计按公司联动刷新
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-15 16:50:25 +08:00
kkfluous and Claude Opus 4.6
e4f682dff5
fix: 按部门下钻车辆数与列表不一致,补充 category=Operating 过滤
...
ci/woodpecker/push/woodpecker Pipeline was successful
dept-stats 只统计 Operating 车辆,但下钻弹窗调用 /list 时未传 category
参数,导致返回了非运营状态车辆(如业务二部显示233但下钻显示237)。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-12 00:32:43 +08:00
kkfluous and Claude Opus 4.6
8ed2031c45
feat: 水印移到全局Shell,资产和里程页面都有水印
...
ci/woodpecker/push/woodpecker Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-02 18:12:48 +08:00
kkfluous and Claude Opus 4.6
09719f3cd6
fix: 水印改为 用户名+时间 替代 羚牛氢能+时间
...
ci/woodpecker/push/woodpecker Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-02 16:38:20 +08:00
kkfluous and Claude Opus 4.6
997374cf25
feat: 客户多选筛选、统计报表里程与监控看板数据一致
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 资产管理按客户筛选改为多选(支持同时选多个客户)
- 新增 MultiSearchSelect 组件(搜索+标签+复选框)
- 统计报表 todayTotal 改用监控缓存数据,与里程看板一致
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-02 11:31:54 +08:00
kkfluous and Claude Sonnet 4.6
caec13eec5
refactor: 创建 AssetsModule,迁移资产管理逻辑
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 19:21:39 +08:00