Files
Migu2.0/MiGu.Server/wwwroot/assets/VehicleHubView-BC4ONtdY.js
T

2 lines
24 KiB
JavaScript
Raw Normal View History

2026-06-08 18:18:48 +08:00
import{aN as ee,bs as M,aG as B,bk as Q,aD as l,aK as t,$ as Le,bL as b,cb as Pe,I as ve,c8 as n,r as ce,bS as p,bi as Re,K as _e,J as be,aJ as _,a8 as he,Q as we,c1 as ze,aC as Ne,aw as We,c6 as He,az as qe,ay as C,Y as le,X as q,ak as de,b as R,bC as F,bp as ue,ad as Je,bD as ge,bv as je,at as Ge,c9 as ye,b$ as Ce,aE as J,aF as re,ai as Y,bE as Z,R as fe,aP as Ke,a4 as Ie,Z as Ve,L as ke,N as Xe,O as Qe,a5 as Ye,G as Ze,S as et,k as tt,E as at,ac as $e,a9 as Me,B as lt,C as nt,b4 as ot,br as st,bK as me,bV as it,c7 as pe,bW as rt,bX as ct,bI as dt,am as ut}from"./index-D5GfLbIx.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{r as ft}from"./reflection-BwOBPyb9.js";import{u as Ee,C as xe}from"./ConfigPageBase-CgfsngDp.js";/* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css */import{l as mt}from"./projection-BHFE6Meg.js";import{u as pt}from"./useProjectionStream-ayb6RvWW.js";/* empty css *//* empty css */import"./PermissionGuard-CR4qtxrh.js";import"./monitorConfigCache-DXn96T8F.js";const vt={online:"OnlineCar",offline:"OfflineCar",repair:"Repair",blown:"Blown"};async function Se(s,d){const o=vt[d];if(!o)return!1;try{return await ft.execute("car",s,o),!0}catch{return!1}}function _t(s,d){const o=s??(d?`http://${d}:8081`:null);o&&window.open(o,"_blank","noopener,noreferrer")}const bt={class:"battery-strip"},ht={class:"card-head"},wt={class:"title-block"},gt={class:"vid"},yt=["title"],Ct={class:"card-body"},It={class:"thumb"},Vt={class:"metrics"},kt={class:"metric-row"},$t={class:"value mono"},Mt={class:"metric-row"},Et={class:"metric-row"},xt={class:"metric-row"},St={class:"value"},Ft={class:"metric-row"},At={class:"value"},Ut={class:"icon-grid"},Bt={class:"icon-cell",title:"CPU"},Ot={class:"icon-cell",title:"内存"},Tt={class:"icon-cell",title:"报警"},Dt={class:"icon-cell",title:"连接"},Lt={class:"card-foot"},Pt=ee({__name:"VehicleHealthCard",props:{vehicle:{},selected:{type:Boolean},canWrite:{type:Boolean}},emits:["select","maintenanceChanged"],setup(s,{emit:d}){const o=s,k=d,f={idle:"空闲",running:"运行",charging:"充电",paused:"暂停",fault:"故障",offline:"离线"},w=C(()=>f[o.vehicle.state]??o.vehicle.state),g=C(()=>{const e=o.vehicle.batterySoc??0,a=e>1?e:e*100;return Math.max(0,Math.min(100,Math.round(a)))}),E=C(()=>{const e=g.value;return e<20?"#f56c6c":e<50?"#e6a23c":"#67c23a"}),v=C(()=>o.vehicle.maintenanceMode==="online"),U=C(()=>({"is-selected":o.selected,"is-alarm":o.vehicle.isAlarmActive,"is-offline":o.vehicle.maintenanceMode==="offline"||o.vehicle.state==="offline","is-maintenance":o.vehicle.maintenanceMode==="repair"||o.vehicle.maintenanceMode==="blown","is-unreachable":o.vehicle.reachable===!1})),u=C(()=>{const e=o.vehicle.latencyMs;return e==null?"—":o.vehicle.reachable===!1?"超时":`${e} ms`}),y=C(()=>{const e=o.vehicle.latencyMs;return o.vehicle.reachable===!1?"danger":e!=null&&e>80?"warn":""}),I=C(()=>{const e=o.vehicle.faultRatePercent;return e==null?"—":`${e.toFixed(2)}%`}),W=C(()=>{const e=o.vehicle.faultRatePercent??0;return e>=5?"danger":e>=1?"warn":""}),O=C(()=>{const e=o.vehicle.cpuPercent;return e!=null?`${Math.round(e)}%`:"—"}),L=C(()=>{const e=o.vehicle.memPercent;return e!=null?`${Math.round(e)}%`:"—"});function z(){k("select",o.vehicle.id)}function T(e){e.target.closest(".head-actions")||_t(o.vehicle.onboardUrl,o.vehicle.ip)}async function A(e){const a=o.vehicle.rawId??parseInt(o.vehicle.id.replace(/\D/g,""),10);if(!Number.isFinite(a))return;await Se(a,e)?(q.success("维护状