kkfluous and Claude Opus 4.6
787fa27949
fix: overflow-x-hidden 改为 overflow-x:clip 修复 sticky 吸顶
...
overflow-x:hidden 会创建滚动容器导致 position:sticky 失效,
改用 overflow-x:clip 裁剪溢出但不破坏 sticky 定位。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-02 00:15:38 +08:00
kkfluous and Claude Opus 4.6
c5ee78e892
feat: Tab栏和KPI卡片吸顶固定
...
滚动列表时:
- Tab栏(实时监控/统计报表/每日汇报)sticky固定在顶部
- KPI统计卡片sticky固定在Tab栏下方,略缩小间距
- 背景色匹配页面避免透出内容
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-02 00:11:35 +08:00
kkfluous and Claude Opus 4.6
50eaeb05ae
fix: 统计报表用年度完成率替代总完成率
...
- 完成率改用 current_year_completion_rate 平均值
- 50%达标数改用 current_year_completion_rate >= 0.5
- 修复后数据:40台普货 完成率51.6% 50%达标15台
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-02 00:08:46 +08:00
kkfluous and Claude Opus 4.6
1d8e827374
fix: 回到顶部按钮用 IntersectionObserver 检测+scrollIntoView
...
- 顶部放哨兵元素,离开视口时显示回到顶部按钮
- 点击用 scrollIntoView 替代 window.scrollTo,兼容各种布局
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-02 00:05:42 +08:00
kkfluous and Claude Opus 4.6
54c8449f7b
fix: 用 IntersectionObserver 替代 scroll 事件实现瀑布流
...
scroll 事件在某些布局下不触发,改用 IntersectionObserver
监听列表底部哨兵元素,进入视口时自动加载下一页,更可靠。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 23:59:54 +08:00
kkfluous and Claude Opus 4.6
b7b254546c
fix: 改进瀑布流滚动和回到顶部的可靠性
...
- 使用 ref 避免 loadMore 依赖导致事件重复注册
- 同时监听 window 和 document 的 scroll 事件
- 降低回到顶部按钮触发阈值到 400px
- 增大触底检测距离到 300px
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 23:52:38 +08:00
kkfluous and Claude Opus 4.6
82dac759be
fix: 环比统计跟随筛选条件正确计算
...
每辆车缓存其昨日里程(yesterdayKm),筛选后的环比基于
相同筛选条件下的车辆计算,而非全局对比。
例如筛选"业务一部"后,今日和昨日都只统计一部的车辆。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 23:50:07 +08:00
kkfluous and Claude Opus 4.6
0b8bbbb063
feat: 支持查询指定日期里程+删除搜索关键词和车牌号筛选
...
- 后端支持 date 参数,指定日期时实时查询数据库(不用缓存)
- 同时查询前一天数据计算环比
- 高级筛选添加"查询日期"日期选择器
- 删除高级筛选中的"搜索关键词"和"车牌号"(已有快捷筛选)
- 筛选标签支持显示日期条件
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 23:41:03 +08:00
kkfluous and Claude Opus 4.6
cbf0e18634
fix: 里程环比改为真实值(与前一天对比)
...
- 后端缓存刷新时查询前一天总里程(yesterdayTotal)
- 前端计算真实环比:(今日-昨日)/昨日*100%
- 上涨显示蓝色↑,下跌显示红色↓
- 昨日无数据时不显示环比
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 23:33:52 +08:00
kkfluous and Claude Opus 4.6
66de41d50b
fix: KPI统计跟随筛选条件变化+客户筛选修正+部门排序
...
- KPI统计(总里程/平均单车/监控台数)改为基于筛选后数据计算
- 移除不需要的 onlineCount 字段
- 快捷筛选"按客户"和全屏表格"客户"列改为真正的客户筛选
- 删除混乱的 projects 变量映射
- 部门列表按 一部→二部→三部 顺序排序
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 23:29:31 +08:00
kkfluous and Claude Opus 4.6
c73e20bacf
fix: 快捷筛选按客户改为客户筛选、删除日期筛选、更新频率文案
...
- 快捷筛选"按客户"改为真正的客户名称筛选(独立于项目筛选)
- 删除高级筛选中的"日期区间"和"日期"(无后端支持)
- "40MIN更新"改为"每分钟更新"
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 23:26:34 +08:00
kkfluous and Claude Opus 4.6
8fffa141f4
fix: 修复车牌搜索失效,确保所有筛选条件正常
...
- 后端新增 plate 查询参数支持
- 前端将 filterPlate 传给 API 并加入依赖数组
- 所有筛选条件(部门/项目/主体/车牌/搜索/里程范围)
均正确传递到后端并触发数据刷新
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 23:22:12 +08:00
kkfluous and Claude Opus 4.6
cb620e5101
feat: 筛选条件标签展示+单独删除+清除全部
...
筛选后在 KPI 卡片上方展示活跃筛选条件标签(蓝色圆角),
每个标签可单独点×删除,右侧"清除"按钮重置所有筛选。
支持:部门/项目/主体/车牌/搜索/里程范围/地区。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 23:18:55 +08:00
kkfluous and Claude Opus 4.6
2469da310d
fix: 里程范围筛选接入后端
...
- 后端支持 mileageMin/mileageMax 查询参数
- 前端点击"完成筛选"时将里程范围提交到后端
- "重置所有"同时清除已应用的里程范围
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 23:14:56 +08:00
kkfluous and Claude Opus 4.6
863ab17b58
fix: 筛选器和显示优化
...
- 删除年份筛选
- 项目筛选改用真实项目数据(ln_vehicle_contract.project_name)
- 主体查询改用 tab_truck → tab_org 的 org_name
- 里程区间改为两个独立条件(里程≥ / 里程≤)
- 未分配客户显示为 -
- 统计报表日期格式改为 M.D(如 3.25)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 23:06:56 +08:00
kkfluous and Claude Opus 4.6
2f6269e071
feat: 实时监控改为瀑布流无限滚动+回到顶部
...
- 移除分页按钮,改为滚动触底自动加载下一页
- 滚动超过600px时显示蓝色回到顶部按钮
- 底部提示加载状态(加载中.../已加载全部 N 条)
- 筛选/排序变化时自动重置为首页
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 22:52:05 +08:00
kkfluous and Claude Opus 4.6
d8f25448d0
fix: 实时监控显示优化
...
1. KPI 总里程不保留小数
2. 车辆卡片先展示部门再展示客户名称,客户名称不截断
3. 无部门时展示租赁状态(自营/租赁/挂靠等)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 22:45:46 +08:00
kkfluous and Claude Opus 4.6
c3300359a0
fix: 所有里程数据添加 km 单位
...
实时监控:全屏表格、车辆卡片的今日/累计里程添加 km
统计报表:全屏表格、考核详情、侧滑面板的里程值添加 km
统一使用小写 km
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 22:35:45 +08:00
kkfluous and Claude Opus 4.6
aa024f1b64
perf: 实时监控改为缓存+分页架构
...
后端:
- 每2分钟刷新全量数据到内存缓存(并行查询两库)
- 预计算统计信息(totalToday/totalAll/onlineCount/vehicleCount)
- 预提取筛选选项(departments/customers/plates)
- API 直接从缓存读取,支持分页(每页50条)+筛选+排序
前端:
- KPI 统计使用后端返回的 stats
- 车辆列表分页,带翻页控件
- 筛选选项从后端 filters 获取
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 22:23:25 +08:00
kkfluous and Claude Opus 4.6
1fb9d53873
perf: 实时监控性能优化
...
- 后端:车辆关联信息缓存5分钟、两库并行查询、支持服务端
筛选/排序/分页(默认返回100条)
- 前端:筛选和排序参数传给后端,不再加载全量数据
- 筛选选项(部门/客户/车牌)仅首次加载获取
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 22:11:52 +08:00
kkfluous and Claude Opus 4.6
ad17803ed1
fix: 里程数超过10000显示为xx.xx万KM
...
添加 fmtKm() 格式化函数,统计报表中所有里程数值
超过10000时自动转为万单位显示。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 21:47:35 +08:00
kkfluous and Claude Opus 4.6
152935819b
fix: 考核区间支持多批次显示
...
190辆冷链车有3个不同考核区间(40台、50台、100台),
恒运有2个。后端改为查询每个target的不同考核区间并返回
periods数组,前端换行显示每个区间及其车辆数。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 21:43:17 +08:00
kkfluous and Claude Opus 4.6
2a10c5ae31
fix: 修复统计报表移动端适屏问题
...
- Shell main 添加 min-w-0 overflow-x-hidden 防止 flex 子元素溢出
- trend API 排除当天数据 (stat_date < CURDATE()),只返回前7天
- StatisticsView 移除移动端 overflow-hidden,改为仅 landscape 模式
- 图表和列表卡片在移动端正确显示全宽内容
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 21:36:25 +08:00
kkfluous and Claude Opus 4.6
ee3db94c75
fix: 修复统计报表在移动端的溢出问题
...
- MileageModule 减少移动端 padding (p-6→p-3)
- StatisticsView 添加 overflow-x-hidden 防止横向溢出
- 图表容器添加 overflow-hidden
- 减少图表右侧 margin 防止标签被截断
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 21:29:54 +08:00
kkfluous and Claude Opus 4.6
dd1834477d
fix: 修复统计报表完成率格式和项目名称显示
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 21:26:31 +08:00
kkfluous and Claude Opus 4.6
7e2eefc3da
feat: 实现里程管理统计报表视图(1:1 复刻原型)
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 21:16:39 +08:00
kkfluous and Claude Opus 4.6
167842408c
feat: 实现里程管理实时监控视图(1:1 复刻原型)
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 21:11:26 +08:00
kkfluous and Claude Sonnet 4.6
0a2cfc22c4
feat: MileageModule Tab 切换 + DailyReportView 占位
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 21:06:05 +08:00
kkfluous and Claude Sonnet 4.6
75b4e55dca
feat: 添加里程管理 API 路由(monitoring/targets/trend)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 21:06:01 +08:00
kkfluous
5ff3372f2a
feat: 添加里程管理 API 客户端
2026-04-01 21:05:29 +08:00
kkfluous and Claude Sonnet 4.6
a7e617bc6f
feat: 添加 hydrogen_energy 数据库连接和里程管理类型定义
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 21:03:52 +08:00
kkfluous and Claude Opus 4.6
3d6c31a86e
docs: 添加里程管理模块实施计划
...
7 个 Task:后端数据库连接+API 路由、前端类型+API 客户端、
MileageModule Tab 切换、MonitoringView 1:1 复刻、
StatisticsView 1:1 复刻、集成验证。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 21:01:58 +08:00
kkfluous and Claude Opus 4.6
7cf7bc945a
docs: 添加里程管理模块设计文档
...
覆盖架构、API 端点、前端组件、数据映射,
1:1 复刻原型的实时监控和统计报表。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 20:55:45 +08:00
kkfluous
968e9369a0
refactor: 重写 App.tsx 为模块化顶层壳
2026-04-01 19:22:30 +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
kkfluous and Claude Sonnet 4.6
bb3dbde1c7
feat: 创建 Shell 布局组件(侧边栏 + 底部导航)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 19:19:26 +08:00
kkfluous
40e84a1eaa
feat: 创建里程管理占位组件
2026-04-01 19:19:22 +08:00
kkfluous and Claude Sonnet 4.6
be6598a940
refactor: 移动 types.ts 和 api.ts 到 modules/assets/
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 19:19:11 +08:00
kkfluous and Claude Sonnet 4.6
de0320bfcd
refactor: 抽取 SearchSelect 为公共组件
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 19:18:16 +08:00
kkfluous and Claude Opus 4.6
b495cac0fe
docs: 添加模块化重构实施计划
...
7 个 Task 的详细步骤,覆盖 SearchSelect 抽取、文件迁移、
AssetsModule 创建、Shell 布局、里程占位、App.tsx 重写和清理。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 19:07:02 +08:00
kkfluous and Claude Opus 4.6
cfd81b1b9d
docs: 添加模块化重构设计文档
...
支持多 BI 大类(资产管理、里程管理)的架构重构设计,
包括目录结构、Shell 布局、导航机制和迁移策略。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 19:03:13 +08:00
kkfluous and Claude Opus 4.6
44c6f98254
fix: 出勤说明移到按部门/按业务负责人切换Tab的上方
...
ci/woodpecker/push/woodpecker Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-29 09:53:03 +08:00
kkfluous and Claude Opus 4.6
dbf3f3becb
fix: 日期格式化为yyyy-MM-dd、出勤说明另起一行
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 本周还车/交车/替换的日期从ISO格式截取前10位
- 出勤说明移到切换按钮下方单独一行
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-29 09:50:45 +08:00
kkfluous and Claude Opus 4.6
3e4122caec
fix: 去除客户Tab的饼图(客户运营地区占比)
...
ci/woodpecker/push/woodpecker Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-29 09:39:10 +08:00
kkfluous and Claude Opus 4.6
c70e4b52c4
fix: 出勤说明文字改为浅灰色
...
ci/woodpecker/push/woodpecker Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-29 09:36:15 +08:00
kkfluous and Claude Opus 4.6
240478142f
fix: 客户饼图省份用车辆表province、区域柱状图用realtime表;加出勤说明
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 后端region-chart新增source参数:vehicle用车辆表,realtime用实时表
- 客户运营地区占比"按省份"改用source=vehicle
- 区域资产分布概览"按省份"继续用source=realtime
- 部门Tab加说明文字:*说明:当天里程>0即为出勤。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-29 09:35:14 +08:00
kkfluous and Claude Opus 4.6
6e8e01196c
fix: 省份图表"未知"合入"其他"
...
ci/woodpecker/push/woodpecker Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-29 09:28:03 +08:00
kkfluous and Claude Opus 4.6
e910deac51
feat: 按城市改为按省份,数据从realtime表province获取,展示前5
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 后端region-chart支持groupBy=province,从realtime表读取省份
- 区域柱状图和客户饼图"按城市"改为"按省份"
- 省份展示前5,其余合入"其他"
- 前端state类型从'city'改为'province'
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-29 09:26:54 +08:00
kkfluous and Claude Opus 4.6
db1e37b8bf
fix: 客户饼图按城市显示时按省份(区域)分组排序
...
ci/woodpecker/push/woodpecker Pipeline was successful
同省城市相邻显示:华东(嘉兴/宁波/金华)→华南(佛山/广州)→华中(开封)→...
组内按数量降序。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-29 09:13:28 +08:00
kkfluous and Claude Opus 4.6
16f5ef8741
fix: 区域统计客户筛选生效,后端region-stats支持过滤参数
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 后端/region-stats新增customer/city/region查询参数
- 前端regionFilters变化时重新请求后端数据
- 移除前端冗余过滤逻辑,由后端统一处理
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-29 00:42:59 +08:00
kkfluous and Claude Opus 4.6
1d19bb07a7
fix: 禁止iOS橡皮筋滚动,不再显示上下空白
...
ci/woodpecker/push/woodpecker Pipeline was successful
overscroll-behavior:none + html overflow:hidden 防止页面过度滚动
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-29 00:36:26 +08:00
kkfluous and Claude Opus 4.6
189098cd54
fix: Tab切换延迟渲染重内容,解决区域页切换卡顿
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 切换Tab时先卸载旧内容显示loading,下一帧再渲染新内容
- 图表等重组件不再阻塞Tab切换动画
- 所有Tab统一处理,切换体验一致
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-29 00:35:07 +08:00
kkfluous and Claude Opus 4.6
799d00b3da
fix: Tab切换用useTransition不阻塞UI、禁止缩放、版本升至1.1.0
...
ci/woodpecker/push/woodpecker Pipeline was successful
- Tab切换包裹startTransition,图表重渲染不阻塞交互
- viewport加maximum-scale=1.0 user-scalable=no禁止缩放
- 版本号1.0.0 → 1.1.0
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-29 00:31:33 +08:00
kkfluous and Claude Opus 4.6
d7575aeea2
feat: 三个筛选区域增加已选条件标签栏,支持单个×和一键清除
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 库存/区域/客户统计在筛选按钮下方显示已选条件标签
- 每个标签可点×单独移除
- 右侧"清除"按钮一键重置所有条件
- 不需要打开筛选面板即可快速清除
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-29 00:23:44 +08:00
kkfluous and Claude Opus 4.6
c81b7058c3
fix: 移动端筛选面板高度自适应内容,不再撑满屏幕
...
ci/woodpecker/push/woodpecker Pipeline was successful
从fixed top-24 bottom-24改为top-20 max-h-[80vh],
面板高度由内容决定,内容多时可滚动。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-29 00:20:56 +08:00
kkfluous and Claude Opus 4.6
f25dffc7df
feat: 客户筛选部门和业务负责人联动
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 选择部门后,业务负责人下拉只显示该部门的人
- 切换部门时自动清空已选的业务负责人
- 未选部门时显示所有部门的负责人
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-29 00:18:11 +08:00
kkfluous and Claude Opus 4.6
11f7062104
fix: 移除筛选遮罩层防止阻塞Tab切换、部门选择按编号排序
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 删除三个筛选面板的fixed backdrop div,不再阻塞页面交互
- 部门下拉选项按编号排序(业务一部→二部→三部→五部→六部)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-29 00:12:49 +08:00
kkfluous and Claude Opus 4.6
8f42676f7c
fix: 筛选面板改为确认后才搜索、隐藏公务车分类
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 三个筛选面板(库存/区域/客户)改为draft状态模式:
打开时复制当前筛选到draft,面板内操作draft,
点确认才应用到实际筛选状态
- 移除点击外部关闭(只能通过确认按钮关闭)
- 业务负责人下拉隐藏"公务车"分组(部门Tab和客户Tab都已处理)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-29 00:11:46 +08:00
kkfluous and Claude Opus 4.6
7b39d51fa3
fix: 所有筛选面板桌面端统一固定在视口右上角(top-20 right-4)
...
ci/woodpecker/push/woodpecker Pipeline was successful
库存筛选面板之前桌面端位置太低被页面遮挡,现在三个筛选面板
统一使用sm:top-20 sm:right-4固定定位,与客户筛选同样的位置。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-29 00:04:47 +08:00
kkfluous
bfb6fd132d
Revert "fix: 库存统计筛选面板优化,参考客户筛选样式"
...
ci/woodpecker/push/woodpecker Pipeline was successful
This reverts commit 02af807705 .
2026-03-29 00:02:01 +08:00
kkfluous and Claude Opus 4.6
02af807705
fix: 库存统计筛选面板优化,参考客户筛选样式
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 标题改为"数据筛选",重置改为红色
- 车型和批次改为并排两列布局
- 标签统一uppercase加粗样式
- 确认按钮加阴影,更醒目
- 整体间距和样式与客户筛选一致
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-29 00:01:12 +08:00
kkfluous and Claude Opus 4.6
6bdbfda981
fix: 筛选面板点击外部区域也能关闭
...
ci/woodpecker/push/woodpecker Pipeline was successful
恢复backdrop的onClick,点击遮罩层关闭对应的筛选面板。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-29 00:00:16 +08:00
kkfluous and Claude Opus 4.6
9f3b134007
fix: 筛选面板改为fixed定位,桌面端右侧浮动不受容器限制
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 所有筛选面板统一fixed定位,不依赖父容器overflow
- 移动端: 上下留白居中,可滚动
- 桌面端: 右侧浮动,max-h-[80vh]可滚动,确认按钮始终可见
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 23:58:32 +08:00
kkfluous and Claude Opus 4.6
c20ac11ed7
fix: 筛选面板桌面端改为向上展开,加滚动防止底部遮挡
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 桌面端sm:top-full改为sm:bottom-full,面板从按钮上方弹出
- 加max-h和overflow-auto,内容过多时可滚动
- 移动端保持固定居中
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 23:57:31 +08:00
kkfluous and Claude Opus 4.6
fd0b94175d
fix: 客户运营统计业务负责人按部门编号排序
...
ci/woodpecker/push/woodpecker Pipeline was successful
部门顺序:业务一部→二部→三部→五部→六部→公务车,
与部门Tab排序一致,负责人按deptData顺序排列。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 23:54:54 +08:00
kkfluous and Claude Opus 4.6
66ea340a73
feat: 业务负责人下拉按部门分组显示
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 部门Tab和客户Tab的业务负责人下拉用optgroup按部门分组
- 顺序:部门名称作为组标题,组内显示该部门的负责人列表
- 部门排序与部门Tab一致(业务一部→二部→...→公务车)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 23:52:35 +08:00
kkfluous and Claude Opus 4.6
258def4fdd
feat: 库存筛选"车型名称"改为二级选择"车型→批次"
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 新增车型下拉(4.5T普货/冷链/18T/49T/挂车/其他)
- 批次下拉根据所选车型联动过滤,显示该车型下的具体型号
- 切换车型时自动清空批次选择
- 筛选标签栏对应更新:车型/批次
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 23:51:01 +08:00
kkfluous and Claude Opus 4.6
96219d95b6
fix: 所有"业务员"改为"业务负责人"
...
ci/woodpecker/push/woodpecker Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 23:49:01 +08:00
kkfluous and Claude Opus 4.6
9d0b305218
feat: 出勤率数据源切换为tab_truck_remote_sync_realtime_info
...
ci/woodpecker/push/woodpecker Pipeline was successful
- dept-stats和/list的attendance过滤改为查询realtime表的day_mileage
- day_mileage>0为出勤,=0为闲置
- 移除旧的ln_vehicle_day_mileage依赖
- 前端恢复出勤率/出勤/闲置的数据显示和下钻功能
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 23:48:10 +08:00
kkfluous and Claude Opus 4.6
cae508a70a
fix: 一级菜单仅客户名称用模糊搜索,其他改回select下拉
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 库存-车型名称、客户-业务负责人改回原生select
- 仅区域筛选和客户筛选的"客户名称"保留SearchSelect模糊搜索
- 弹窗内车牌搜索保留SearchSelect(二级页面)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 23:44:19 +08:00
kkfluous and Claude Opus 4.6
8863039869
fix: 筛选面板删除X关闭按钮,底部加确认按钮点击后关闭
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 库存/区域/客户三个筛选面板移除X图标
- 底部增加"确认"按钮,点击后关闭面板
- 移除背景遮罩点击关闭,只能通过确认按钮关闭
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 23:41:10 +08:00
kkfluous and Claude Opus 4.6
e85792a237
feat: 自定义SearchSelect组件,支持下拉+模糊搜索+iOS兼容
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 新增SearchSelect组件:输入框可打字模糊过滤,下拉列表点击选择
- 客户名称、业务负责人、车型名称、车牌号码使用SearchSelect
- 短选项列表(区域/城市/品牌/部门/业务员)保持原生select
- 点击外部自动关闭下拉,已选中项高亮,无匹配显示提示
- iOS Safari完全兼容(不依赖datalist)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 23:38:15 +08:00
kkfluous and Claude Opus 4.6
28dcab771f
fix: 所有筛选统一为select下拉,修复iOS不支持datalist
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 客户名称、业务负责人、车型名称、车牌号码全部从input+datalist
改为select下拉,iOS Safari完全兼容
- 弹窗快速搜索也改为select
- 所有过滤逻辑统一为精确匹配(select值)
- 样式统一:所有筛选控件使用相同的select样式
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 23:33:53 +08:00
kkfluous and Claude Opus 4.6
f4cf5d1cb6
fix: useMemo移到early return之前,修复hooks顺序错误
...
ci/woodpecker/push/woodpecker Pipeline was successful
React要求hooks在每次渲染中顺序一致,不能在条件return之后调用。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 23:30:07 +08:00
kkfluous and Claude Opus 4.6
454b2f0913
perf: useMemo优化所有派生数据,解决页面操作卡顿
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 所有filter/unique/grouped派生数据包裹useMemo,避免每次渲染重算
- 库存筛选、客户筛选、区域筛选、弹窗筛选的派生列表全部memoize
- 饼图数据提取为customerPieData useMemo,不再inline IIFE
- 水印文本memoize,仅lastUpdate变化时重算
- 预计减少每次交互的JS执行时间80%+
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 23:27:39 +08:00
kkfluous and Claude Opus 4.6
4e859423ee
fix: 库存/区域/客户统计卡片加min-h-[420px]防止筛选后高度缩减
...
ci/woodpecker/push/woodpecker Pipeline was successful
筛选后列表数据减少导致卡片高度缩小,筛选面板显示不全。
给三个统计卡片加最小高度,确保筛选面板始终有足够空间。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 23:21:06 +08:00
kkfluous and Claude Opus 4.6
0aac364069
fix: 修复区域筛选面板多余closing tag导致的编译错误
...
ci/woodpecker/push/woodpecker Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 23:18:34 +08:00
kkfluous and Claude Opus 4.6
5a5d9b509b
fix: 筛选面板移动端改为固定居中显示,避免被遮挡
...
ci/woodpecker/push/woodpecker Pipeline failed
库存/区域/客户三个筛选面板在移动端从absolute改为fixed居中,
桌面端保持原有absolute popover样式。移动端增加关闭按钮。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 23:17:37 +08:00
kkfluous and Claude Opus 4.6
d56011ab8b
fix: 移动端型号badge(资产/库存/运营)增加点击下钻
...
ci/woodpecker/push/woodpecker Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 23:12:20 +08:00
kkfluous and Claude Opus 4.6
2626bf2aa7
fix: 库存统计口径统一包含Inventory+Abnormal
...
ci/woodpecker/push/woodpecker Pipeline was successful
inventory-stats端点只过滤status=Inventory,但/list的category=Inventory
包含Inventory+Abnormal,导致统计数和下钻列表不一致。统一为两者都包含。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 23:11:48 +08:00
kkfluous and Claude Opus 4.6
1b34049196
fix: 库存区域下钻增加category:Inventory,与统计值一致
...
ci/woodpecker/push/woodpecker Pipeline was successful
点击型号的库存区域数字(浙/粤/京/新/其)缺少Inventory过滤,
导致显示全部车辆而非仅库存。桌面端和移动端都已修复。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 23:09:34 +08:00
kkfluous and Claude Opus 4.6
0e21c3157d
fix: 弹窗所在地"其他"显示为"对接中"
...
ci/woodpecker/push/woodpecker Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 22:55:01 +08:00
kkfluous and Claude Opus 4.6
0eb4485af4
fix: 库存批次改为车型名称、区域待交车数量始终显示
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 库存统计:移除批次筛选(原显示contractNo),batch字段改为model
- 区域Tab:待交车和库存数量即使为0也显示数字,移除|| ''和if守卫
- 桌面端和移动端的pendingCount/inventory全部始终显示
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 22:49:57 +08:00
kkfluous and Claude Opus 4.6
24b66f68b5
fix: 出勤率/出勤/闲置显示为-(数据接入中),移动端隐藏标题
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 部门Tab顶部汇总、桌面表格、移动端卡片的出勤率/出勤/闲置
全部显示为"-",移除点击下钻(数据未就绪)
- 移动端隐藏"羚牛氢能车辆资产"标题
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 20:28:25 +08:00
kkfluous and Claude Opus 4.6
ba6f595591
fix: 总运营卡片增加挂靠数量显示(挂X)
...
ci/woodpecker/push/woodpecker Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 20:22:25 +08:00
kkfluous and Claude Opus 4.6
8472f22f1e
fix: 出勤率改为当天计算(当天出勤数/总运营数)
...
ci/woodpecker/push/woodpecker Pipeline was successful
之前用近30天activeDays/totalDays计算,现改为:
当天里程>0的车辆数 / 部门总运营车辆数 × 100%
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 20:17:09 +08:00
kkfluous and Claude Opus 4.6
8727dc36ab
fix: 部门出勤/闲置下钻改为基于当日里程区分
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 后端/list新增attendance参数(active/idle),查询当日里程表区分
出勤(mileage>0)和闲置(mileage=0),仅对Operating车辆生效
- 前端部门Tab出勤/闲置点击改用attendance:'active'/'idle'替代
原来错误的category:'Operating'/'Inventory'
- 修复department='公务车'过滤:匹配departmentName为null的车辆
- 前端API层新增attendance参数传递
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 20:01:58 +08:00
kkfluous and Claude Opus 4.6
29d295fceb
fix: 总库存下钻改用category=Inventory,包含在库+异动状态
...
ci/woodpecker/push/woodpecker Pipeline was successful
之前用status=Inventory只匹配在库,现改用category=Inventory
匹配Inventory+Abnormal,与统计口径一致。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 19:53:57 +08:00
kkfluous and Claude Opus 4.6
cab26a207a
fix: 部门统计未分配部门改为显示"公务车",排序放最后
...
ci/woodpecker/push/woodpecker Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 19:51:21 +08:00
kkfluous and Claude Opus 4.6
3e3546f6ac
fix: 恢复弹窗条件表格、筛选改为下拉+搜索混合、删除月列
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 恢复弹窗条件判断:customer源用13列详情表格(删除月列),
其他源用简洁表格(车牌/品牌/车型/所在地)
- 保留w-max和whitespace-nowrap修复移动端水平滚动
- 筛选控件:枚举值少的用select下拉(区域/城市/品牌/部门/
车型/批次/业务员),名称类用input+datalist支持模糊搜索
(客户名称/业务负责人/车牌/库存车型)
- 客户详情表格删除"月"列(原显示contractNo,无实际意义)
- 恢复模糊匹配:车牌搜索和客户/负责人筛选用includes
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 19:49:40 +08:00
kkfluous and Claude Opus 4.6
93a6c7df1c
fix: 对齐原型UI差异、修复所有下钻维度、统一弹窗详情表格
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 部门Tab:移除多余section header,标签改为总运营车辆/出勤/闲置,
表格移除日均里程列,按业务负责人改为按业务员,所有行加点击下钻
- 部门下钻增加department维度,后端/list接口新增department过滤参数
- 区域Tab:总资产下钻移除错误的category:Operating,库存改为Inventory,
补全source:region和title,图表高度h-72改h-64
- 客户Tab:4.5T/冷链点击增加isColdChain区分,移动端合计badge加下钻,
所有点击补全title
- 筛选面板:移除区域和客户的"完成筛选"按钮
- 所有manager下钻补全title字段
- 弹窗统一使用14列完整详情表格(月/部门/负责人/品牌/车型/归属/客户/
车牌/状态/提车时间/到期时间/区域/离到期/签约公司),移除source条件
- 表格加whitespace-nowrap和w-max,移动端水平滚动不换行
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 19:33:44 +08:00
kkfluous and Claude Opus 4.6
f6a4884ad1
fix: category=Inventory包含Abnormal状态,与统计口径一致
...
ci/woodpecker/push/woodpecker Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 18:49:06 +08:00
kkfluous and Claude Opus 4.6
e7ef773bc8
fix: 新增下钻支持、移动端库存区域下钻加category:Inventory
...
ci/woodpecker/push/woodpecker Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 18:46:57 +08:00
kkfluous and Claude Opus 4.6
b779e6b29c
fix: 顶部卡片加点击下钻,部门移动端改为总资产/运营中/闲置中
...
ci/woodpecker/push/woodpecker Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 18:40:59 +08:00
kkfluous and Claude Opus 4.6
02ead246d2
fix: 移动端部门卡片改为总运营/出勤/闲置三列布局
...
ci/woodpecker/push/woodpecker Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 18:39:45 +08:00
kkfluous and Claude Opus 4.6
e38484d384
fix: 客户展开详情改为业务经理卡片,移动端资产汇总适配原型
...
ci/woodpecker/push/woodpecker Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 18:38:45 +08:00
kkfluous and Claude Opus 4.6
f3fbb7116c
fix: 移动端区域车型下钻改用vehicleType参数
...
ci/woodpecker/push/woodpecker Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 18:32:35 +08:00
kkfluous and Claude Opus 4.6
dd01671d9e
fix: 区域运营移动端数据、下钻支持城市/车型、网页标题
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 移动端区域运营改用regionData真实数据(去掉Math.floor模拟)
- 区域/城市/车型行数字全部支持点击下钻
- 后端/list支持按车型大类过滤(如4.5T含普货+冷链)
- 网页标题改为"羚牛氢能车辆资产"
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 18:28:46 +08:00
kkfluous and Claude Opus 4.6
d9568f767a
feat: 添加全屏水印(羚牛氢能-时间戳)
...
ci/woodpecker/push/woodpecker Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 18:19:03 +08:00
kkfluous and Claude Opus 4.6
2ba25427de
feat: tab导航、recharts图表、库存统计、出勤率里程、区域城市下钻、数据一致性修复
...
ci/woodpecker/push/woodpecker Pipeline was successful
- 新增tab导航(总览/按部门/按区域/按客户)+ 移动端底部导航
- 新增recharts柱状图(区域分布)和饼图(客户分布)
- 新增库存统计模块(按区域/按车型,筛选面板)
- 对接ln_vehicle_day_mileage表实现出勤率和日均里程
- 区域运营支持区域→城市→车型三级下钻
- 修复ownership取字段错误(改用truck_rent_status)
- 修复部门统计闲置定义(当日无行驶里程)
- 修复区域图表"其他"重复问题(后端Top N合并)
- 修复城市名空值降级(resolveCity取province)
- 修复下钻数据不一致(统一category/vehicleType参数)
- 扩展/list端点支持大区过滤和未分配匹配
- 所有筛选改为searchable datalist
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 18:09:18 +08:00