feat: 多项优化 - 全屏加载全部数据、无值筛选、刷新按钮、加载动画、负值显示为0
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

- 全屏监控一次加载全部车辆数据,支持完整滚动和筛选
- 客户/部门筛选增加"无值"选项筛选空数据
- 全屏刷新按钮实际触发数据重新加载,带旋转动画
- 全屏筛选时显示加载遮罩
- 负值里程前端显示为0
- 未对接车机显示"未对接"替代"-"
- 删除"未同步"标签
- 统计报表配色统一为白色主题、KPI联动选中项目
- 统计报表全屏表格列合并优化
- 车辆明细面板增加日期选择、租赁状态/部门/客户信息、里程合计
- 每分钟自动刷新数据
- 清除按钮修复租赁状态重置

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
kkfluous
2026-04-02 10:52:45 +08:00
parent 06a2edc470
commit adc9c3a9db
5 changed files with 338 additions and 224 deletions

View File

@@ -47,8 +47,11 @@ export async function fetchTargets(): Promise<TargetSummary[]> {
return fetchJson<TargetSummary[]>(`${BASE}/targets`);
}
export async function fetchTargetVehicles(targetId: number): Promise<TargetVehicle[]> {
return fetchJson<TargetVehicle[]>(`${BASE}/target/${targetId}/vehicles`);
export async function fetchTargetVehicles(targetId: number, date?: string): Promise<TargetVehicle[]> {
const params = new URLSearchParams();
if (date) params.set('date', date);
const qs = params.toString();
return fetchJson<TargetVehicle[]>(`${BASE}/target/${targetId}/vehicles${qs ? `?${qs}` : ''}`);
}
export async function fetchTrend(targetId?: number, days = 7): Promise<TrendPoint[]> {