// artboard-detail.jsx — Single vehicle deep detail · Asset-management view const ArtboardDetail = () => { const vehicles = window.VEHICLES || []; const v = vehicles.find(x => x.id === "浙F03980F") || vehicles[0]; if (!v) return null; return (
{/* Header card spanning 3 */}
{v.plate} {v.asset === "leasing" ? "租赁" : v.asset === "abnormal" ? "异常" : "在库"} {v.own === "self" ? "自有" : "外租"} H₂ {v.h2} MPa
VIN {v.vin} · {v.city} · 等级 {v.grade}级 · 状态时长 {v.statusDays}天
数据来源 TBOX(GB/T 32960-2016) · JT/T 808-2019 · JT/T 1078 视频 {v.gps === "online" ? "在线 · 上行 218ms" : "GPS离线"}
{[ {l:"累计里程", val:v.totalKm.toLocaleString(), u:"km"}, {l:"今日里程", val:"248", u:"km"}, {l:"距下次保养", val:v.kmToMaint.toLocaleString(), u:"km"}, {l:"今日能耗", val:"18.4", u:"kWh/100km"}, {l:"H₂消耗", val:"1.02", u:"kg/100km"}, {l:"车辆评级", val:v.grade, u:"级"}, ].map((k,i)=>(
{k.l}
{k.val}{k.u}
))}
{/* 资产档案 */}
资产档案
车牌号{v.plate}
VIN/车架号{v.vin}
{v.fleetCode &&
车辆编号{v.fleetCode}
}
运营城市{v.city}
所属公司{v.ownCompany}
车辆等级{v.grade}级
归属{v.own === "self" ? "自有" : "外租"}
停车场{v.parking}
资产状态 {v.asset === "leasing" ? "租赁" : v.asset === "abnormal" ? "异常" : "在库"} · {v.statusDays}天
营运状态 {v.op === "operating" ? "运营中" : v.op === "suspended" ? "停运" : "待整备"}
{/* 业务关系 */}
业务关系
业务部门 {v.deptName}
{v.own === "lease" &&
租赁公司{v.company}
} {v.contractNo && <>
合同编号{v.contractNo}
交车里程{v.handoverKm?.toLocaleString()} km
{v.returnKm != null &&
还车里程{v.returnKm.toLocaleString()} km
} }
{/* 氢电系统 */}
氢电系统 FCEV
电池 SOC
H₂ 储量
电堆功率28.4 kW
电池电压386 V
电堆温度76°C
H₂压力{v.h2} MPa
续航估算{v.range} km
电池温度32°C
{/* Speed/RPM curve */}
速度 / 电机转速 · 近1小时
1H 4H 1D
速度 km/h 电机RPM ÷100
avg 52 / max 89 km/h
v*1.1)} w={520} h={60} color="var(--accent)" fill={false}/>
{/* Tire pressure */}
胎压 / 温度
{[ {x:24, y:38, st:"ok"},{x:120, y:38, st:"ok"}, {x:24, y:138, st:"ok"},{x:120, y:138, st:"ok"}, ].map((t,i)=>( ))}
{[ {p:"FL", v:"0.24", t:"32°"},{p:"FR", v:"0.23", t:"34°"}, {p:"RL", v:"0.25", t:"36°"},{p:"RR", v:"0.24", t:"35°"}, ].map((t,i)=>(
{t.p}
{t.v}
{t.t}
))}
{/* 保养与维护 */}
保养与维护 剩余 {v.kmToMaint.toLocaleString()} km
保养周期 10,000 km 已行 {(10000 - v.kmToMaint).toLocaleString()} / 10,000 km
上次保养
日期{v.lastMaintDays}天前
里程{v.lastMaintKm.toLocaleString()} km
项目常规保养·机油机滤
技师李工
下次保养预约
里程节点{v.nextMaintKm.toLocaleString()} km
距离{v.kmToMaint.toLocaleString()} km
推荐站点羚牛 · 嘉兴服务站
通知{v.deptLead} · {v.deptName}
{/* DTC list */}
故障码 · DTC{v.asset === "abnormal" ? "2 active" : "0 active"}
{(v.asset === "abnormal" ? [ {c:"P0A7F", n:"电池组性能下降", st:"warn", t:"3小时前"}, {c:"U0073", n:"控制模块通信总线A关闭", st:"warn", t:"2天前"}, {c:"P0563", n:"系统电压高", st:"info", t:"已清除"}, ] : [ {c:"P0563", n:"系统电压高", st:"info", t:"已清除"}, ]).map((d,i,arr)=>(
{d.c} {d.n}
{d.st === "warn" ? "ACTIVE" : "CLEAR"} {d.t}
))}
{/* Data source / signal channels */}
数据源 · 信号通道
双源在线 最近上行 · 218ms
{[ { src:"T", title:"TBOX · 整车遥信", spec:"GB/T 32960-2016 / GB/T 40432", sub:"国标新能源车数据", up:"10 s", signals:[ {n:"整车状态", c:"54 项", st:"ok"}, {n:"驱动电机", c:"18 项", st:"ok"}, {n:"动力电池", c:"32 项", st:"ok"}, {n:"燃料电池/H₂", c:"24 项", st:"ok"}, {n:"极值/故障", c:"12 项", st:"warn"}, ], health: 99.6, }, { src:"J", title:"JT/T 808 · 北斗位置", spec:"JT/T 808-2019 部标", sub:"位置/报警/参数", up:"30 s", signals:[ {n:"GNSS位置", c:"1 帧", st:"ok"}, {n:"行驶记录仪", c:"8 项", st:"ok"}, {n:"报警/事件", c:"64 类", st:"ok"}, {n:"参数下发", c:"42 项", st:"ok"}, {n:"电子围栏", c:"6 区域", st:"ok"}, ], health: 100, }, { src:"J", title:"JT/T 1078 · 视频", spec:"JT/T 1078-2016 部标", sub:"4路实时音视频", up:"H.264", signals:[ {n:"CH1 前向", c:"720p", st:"ok"}, {n:"CH2 驾驶员", c:"720p", st:"ok"}, {n:"CH3 后视", c:"720p", st:"ok"}, {n:"CH4 车厢", c:"480p", st:"warn"}, {n:"录像存储", c:"1.2 TB", st:"ok"}, ], health: 92.8, }, ].map((s,i)=>(
{s.title}
{s.up}
{s.spec}
{s.sub}
{s.signals.map((sig,j)=>(
{sig.n} {sig.c}
))}
通道完好率 99 ? "var(--ok)" : s.health > 95 ? "var(--info)" : "var(--warn)"}}>{s.health}%
99 ? "var(--ok)" : s.health > 95 ? "var(--info)" : "var(--warn)"}}/>
))}
); }; window.ArtboardDetail = ArtboardDetail;