Files
YG_FT/frontend/dist/assets/ComputeNodesView-DShEW0Q9.js

2 lines
16 KiB
JavaScript
Raw Normal View History

import{E as ke,a as Ne}from"./el-form-item-rya6onmd.js";import{E as xe}from"./index-DbBHj60R.js";import{E as Ee}from"./index-DxH5-_w6.js";import{E as $e}from"./el-tag-C2d1Zfbn.js";import{E as Ue,a as je}from"./el-select-BQaRHu3V.js";import{E as Be}from"./el-dialog-DhFCo7lq.js";import{E as Ge}from"./el-input-number-Cs1MXSA_.js";import{E as Pe}from"./el-progress-qwyMzaE5.js";import{E as De}from"./el-space-Brji4Mfq.js";import{E as Le}from"./el-switch-DCvDahA2.js";import{a as Re,E as Te}from"./el-table-B6qMxzT4.js";import{a as ze,E as Fe}from"./el-tab-pane-kUOhsu5N.js";import{v as qe}from"./directive-BBfPDwlQ.js";import{aF as G,aG as x,aH as Se,d as Ie,y as p,D as Me,G as Ae,ah as Oe,K as Ke,c as V,q as i,aa as u,g as Y,s as l,w as a,ac as He,j as T,o as g,x as d,f as b,M as Z,ad as ee,e as z,z as Je,A as w,v as Qe}from"./index-D5veDkuG.js";import"./el-scrollbar-GFOwBTUz.js";import"./el-popper-DDJTxf27.js";import"./el-tooltip-l0sNRNKZ.js";import"./el-checkbox-D6iLoXkw.js";import{s as j,a as B}from"./status-Dl1fykxa.js";import{_ as We}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./castArray-BDIbf8ih.js";import"./_baseClone-BuqHm105.js";import"./raf-Dsox5IbR.js";import"./index-DDY6aSpq.js";import"./index-BT1A2I5c.js";import"./index-DmAaj_YO.js";import"./vnode-CYZHqsIy.js";import"./index-DbuKXJ7V.js";import"./scroll-DswMXu1y.js";import"./clamp-Ddg8_Yc2.js";import"./toNumber-a8w_gs0u.js";import"./_baseIteratee-N-G7GeYE.js";import"./index-BNyn2v9n.js";import"./use-dialog-BGZ6Fb7L.js";import"./index-fqcbYM03.js";import"./index-APLq0PKf.js";import"./validator-CddYkkyy.js";import"./debounce-D3zKL4rk.js";import"./omit-DxQEBv1Z.js";const Xe=()=>G("/compute/nodes"),Ye=m=>x("/compute/nodes",m),Ze=(m,v)=>Se(`/compute/nodes/${m}`,v),et=m=>x(`/compute/nodes/${m}/test-connection`),tt=m=>x(`/compute/nodes/${m}/enable`),lt=m=>x(`/compute/nodes/${m}/disable`),at=m=>x(`/compute/nodes/${m}/drain`),ot=()=>G("/compute/gpus"),st=()=>G("/compute/queue"),nt=m=>G(`/compute/nodes/${m}/replicas`),ut=m=>G(`/compute/nodes/${m}/replicas/drift`),it=(m,v)=>x(`/compute/nodes/${m}/replicas/repair`,v!=null&&v.length?{replica_ids:v}:{}),dt={class:"compute-page"},rt={class:"compute-header"},mt={class:"header-actions"},pt={key:0,class:"last-updated"},_t={class:"summary-grid"},ft={class:"summary-tile"},ct={class:"summary-tile"},gt={class:"summary-tile"},bt={class:"summary-tile"},vt={class:"mono"},yt={class:"muted mono"},ht={class:"muted"},wt={class:"muted"},Vt={key:0,class:"muted"},Ct={class:"muted"},kt={class:"replica-toolbar"},Nt={key:0,class:"muted"},xt={class:"node-form-grid"},Et=Ie({__name:"ComputeNodesView",setup(m){const v=He(),se=Qe(),F=p(String(v.query.tab||"nodes")),q=p(!0),S=p(!1),I=p(!1),M=p(!1),C=p([]),P=p([]),A=p([]),k=p([]),c=p(""),O=p(""),N=p(!1),E=p("create"),K=p(!1),s=Je({id:"",code:"",name:"",api_base_url:"",file_gateway_url:"",enabled:!0,scheduler_status:"offline",scheduler_weight:100,tags_text:"",max_parallel_jobs:1,data_root:"/data/yg-ft",model_root:"/data/yg-ft/models",log_root:"/opt/yg-ft/logs/training",description:""});let H=null,J=!1;const te=T(()=>C.value.find(o=>o.id===c.value)),ne=T(()=>C.value.filter(o=>o.enabled).length),ue=T(()=>P.value.filter(o=>o.status==="busy"||o.status==="reserved").length),ie=T(()=>C.value.reduce((o,t)=>o+t.current_running_jobs,0));function $t(o){return o}Me(()=>v.query.tab,o=>{F.value=String(o||"nodes")});async function $(o={}){if(!J){J=!0,o.showLoading&&(q.value=!0),o.showButtonLoading&&(S.value=!0);try{const[t,r,n]=await Promise.all([Xe(),ot(),st()]);C.value=t,P.value=r,A.value=n,(!c.value||!t.some(y=>y.id===c.value))&&t.length&&(c.value=t[0].id),await Q(),O.value=new Date().toLocaleTimeString("zh-CN",{hour12:!1})}finally{o.showLoading&&(q.value=!1),o.showButtonLoading&&(S.value=!1),J=!1}}}async function Q(){if(!c.value){k.value=[];return}k.value=await nt(c.value)}async function de(o){await se.replace({path:"/compute",query:{tab:String(o)}})}async function D(o,t){const r=String(t.id);if(o==="enable"&&await tt(r),o==="disable"&&await lt(r),o==="drain"&&await at(r),o==="test"){const n=await et(r);n.su