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

2 lines
24 KiB
JavaScript
Raw Normal View History

2026-06-03 18:40:52 +08:00
import{aI as ee,b9 as M,aE as B,b3 as X,aB as l,aH as t,$ as Le,bq as b,bL as Pe,I as ve,bJ as n,r as ce,bt as p,b1 as Re,K as _e,J as be,aG as _,a8 as he,Q as we,bC as ze,aA as Ne,av as He,bH as We,ay as qe,ax as C,Y as le,X as q,ak as de,b as R,bh as F,b7 as ue,ad as je,bi as ge,bc as Je,as as Ge,bK as ye,bA as Ce,aC as j,aD as re,ai as Y,bj as Z,R as fe,aK as Ke,a4 as Ie,Z as Ve,L as ke,N as Qe,O as Xe,a5 as Ye,H as Ze,S as et,k as tt,E as at,ac as $e,a9 as Me,C as lt,F as nt,aU as ot,b8 as st,bp as me,bv as it,bI as pe,bw as rt,bx as ct,bn as dt,am as ut}from"./index-Dg4NaXsE.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-B_glb6eT.js";import{u as xe,C as Ee}from"./ConfigPageBase-MHa7yfOO.js";/* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css */import{l as mt}from"./projection-BMms551H.js";import{u as pt}from"./useProjectionStream-BBHmpNXC.js";/* empty css *//* empty css */import"./PermissionGuard-BlMEkqrL.js";import"./monitorConfigCache-BigdkiFw.js";const vt={online:"OnlineCar",offline:"OfflineCar",repair:"Repair",blown:"Blown"};async function Ae(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"},xt={class:"metric-row"},Et={class:"metric-row"},At={class:"value"},Ft={class:"metric-row"},St={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)))}),x=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)}%`}),H=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 S(e){const a=o.vehicle.rawId??parseInt(o.vehicle.id.replace(/\D/g,""),10);if(!Number.isFinite(a))return;await Ae(a,e)?(q.success("维护状