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

2 lines
19 KiB
JavaScript
Raw Normal View History

import{aG as G,b7 as T,aC as U,b1 as H,az as t,aF as e,_ as we,bo as d,bK as ge,I as ee,bH as l,r as te,br as p,a$ as Ce,K as le,J as ae,aE as C,a7 as ne,Q as oe,bA as ye,ay as Ie,au as Me,bF as Ve,aw as Ee,av as _,Y as q,X as Q,aj as se,aA as O,N as xe,O as Te,a4 as Ae,H as $e,R as ie,S as ke,k as Be,ab as re,a8 as ce,a9 as Le,aa as Pe,ah as j,bh as W,ac as Re,C as Ue,F as De,b as Se,aS as Fe,b5 as Oe,b6 as ze,bn as Y,bf as D,bt as He,bG as Z,bu as Ne,bv as qe,bl as je,a3 as We,Z as Ge,al as Ke,bg as Je,bI as Qe,L as Xe,aB as Ye,by as Ze}from"./index-CC_hCGHZ.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 et}from"./reflection-CTDOoTn5.js";/* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import{C as ue}from"./ConfigPageBase-B4fOVsSK.js";/* empty css *//* empty css *//* empty css */import{l as tt}from"./projection-D6ulMg5U.js";import{u as lt}from"./useProjectionStream-C_klWvmm.js";/* empty css *//* empty css */import"./PermissionGuard-DxbOGfWF.js";import"./monitorConfigCache-B5CZXjjB.js";const at={online:"OnlineCar",offline:"OfflineCar",repair:"Repair",blown:"Blown"};async function de(i,u){const o=at[u];if(!o)return!1;try{return await et.execute("car",i,o),!0}catch{return!1}}function nt(i,u){const o=i??(u?`http://${u}:8081`:null);o&&window.open(o,"_blank","noopener,noreferrer")}const ot={class:"battery-strip"},st={class:"card-head"},it={class:"title-block"},rt={class:"vid"},ct=["title"],ut={class:"card-body"},dt={class:"thumb"},mt={class:"metrics"},ft={class:"metric-row"},pt={class:"value mono"},_t={class:"metric-row"},vt={class:"metric-row"},bt={class:"metric-row"},ht={class:"value"},wt={class:"metric-row"},gt={class:"value"},Ct={class:"icon-grid"},yt={class:"icon-cell",title:"CPU"},It={class:"icon-cell",title:"内存"},Mt={class:"icon-cell",title:"报警"},Vt={class:"icon-cell",title:"连接"},Et={class:"card-foot"},xt=G({__name:"VehicleHealthCard",props:{vehicle:{},selected:{type:Boolean},canWrite:{type:Boolean}},emits:["select","maintenanceChanged"],setup(i,{emit:u}){const o=i,b=u,x={idle:"空闲",running:"运行",charging:"充电",paused:"暂停",fault:"故障",offline:"离线"},A=_(()=>x[o.vehicle.state]??o.vehicle.state),y=_(()=>{const a=o.vehicle.batterySoc??0,n=a>1?a:a*100;return Math.max(0,Math.min(100,Math.round(n)))}),h=_(()=>{const a=y.value;return a<20?"#f56c6c":a<50?"#e6a23c":"#67c23a"}),I=_(()=>o.vehicle.maintenanceMode==="online"),$=_(()=>({"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})),c=_(()=>{const a=o.vehicle.latencyMs;return a==null?"—":o.vehicle.reachable===!1?"超时":`${a} ms`}),w=_(()=>{const a=o.vehicle.latencyMs;return o.vehicle.reachable===!1?"danger":a!=null&&a>80?"warn":""}),m=_(()=>{const a=o.vehicle.faultRatePercent;return a==null?"—":`${a.toFixed(2)}%`}),z=_(()=>{const a=o.vehicle.faultRatePercent??0;return a>=5?"danger":a>=1?"warn":""}),P=_(()=>{const a=o.vehicle.cpuPercent;return a!=null?`${Math.round(a)}%`:"—"}),R=_(()=>{const a=o.vehicle.memPercent;return a!=null?`${Math.round(a)}%`:"—"});function S(){b("select",o.vehicle.id)}function L(a){a.target.closest(".head-actions")||nt(o.vehicle.onboardUrl,o.vehicle.ip)}async function k(a){const n=o.vehicle.rawId??parseInt(o.vehicle.id.replace(/\D/g,""),10);if(!Number.isFinite(n))return;await de(n,a)?(Q.succes