import{E as sa}from"./index-BNsCyG4A.js";import{E as la}from"./index-ByhS8A1d.js";import{E as ua}from"./index-Tr1QMyk2.js";import{E as Pt,a as Et}from"./el-descriptions-CsapHleL.js";import{E as ca}from"./el-progress-Dz5Z3t_E.js";import{v as da}from"./directive-B1cwmVOz.js";import{d as Ot,e as pa,w as x,o as H,q as c,s as m,x as A,aa as v,f as j,aq as Be,ar as $e,aY as ha,aZ as fa,G as va,c as K,K as dt,M as pt,n as ht,ac as ga,y as q,j as O,at as ma,ad as _a,g as ft,L as ya,z as vt}from"./index-Ds9AETjS.js";/* empty css */import{ap as Te,bd as ba,be as xa,bf as He,_ as ae,ak as C,r as Ue,a7 as gt,d as Zt,bg as mt,bh as we,bi as Ma,aP as zt,bj as ne,e as ee,bk as Sa,bl as Nt,bm as _t,E as T,bn as wa,bo as Fe,bp as Aa,bq as Ra,ay as yt,ax as Z,f as se,br as ke,k as Gt,bs as Vt,z as Ta,bt as Ia,aJ as Bt,H as La,I as Da,bu as Ca,bv as ka,bw as Pa,bx as Ea,U as Oa,w as Za,N as $t,by as Ht,al as bt,O as G,bz as za,a1 as xt,bA as Na,bB as Ga,bC as Va,a6 as Me,bD as Ba,aN as Mt,B as St,bE as $a,az as Ha,aK as Ua,bF as Fa,bG as Wa,bH as wt,P as Ya,bI as Xa,a as Ka,aQ as qa,aC as We,aD as ja,aE as Ja,aF as Qa,aG as er,aH as Pe}from"./install-Dw0-DbLK.js";import{P as ge}from"./PageCard-CV3p14-x.js";import{_ as At}from"./ModelStatusTag.vue_vue_type_script_setup_true_lang-CHgevs5i.js";import{_ as Ut}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{u as tr}from"./usePolling-Bx2QCw4O.js";import{i as ar}from"./install-DTeJJHvq.js";import{u as rr}from"./models-a1fp9IUS.js";import{b as or,h as nr}from"./fineTune-gpXL2oJt.js";import{c as ir,b as sr}from"./log-Cy7JR5af.js";import{b as lr}from"./dataset-BWM6p-mU.js";import"./vnode-CBiWHFw7.js";import"./el-card-D86TXgMv.js";import"./model-cWd9CDtT.js";var ur=Te();function Rt(i,r){return!!ur(i)[r]}ba({type:"takeGlobalCursor",event:"globalCursorTaken",update:"update"},xa);var cr={axisPointer:1,tooltip:1,brush:1};function dr(i,r,e){var a=r.getComponentByElement(i.topTarget);if(!a||a===e||cr.hasOwnProperty(a.mainType))return!1;var t=a.coordinateSystem;if(!t||t.model===e)return!1;var n=He(a),o=He(e);return!((n.zlevel-o.zlevel||n.z-o.z)<=0)}var pr=(function(i){ae(r,i);function r(e){var a=i.call(this)||this;a._zr=e;var t=C(a._mousedownHandler,a),n=C(a._mousemoveHandler,a),o=C(a._mouseupHandler,a),s=C(a._mousewheelHandler,a),l=C(a._pinchHandler,a);return a.enable=function(u,p){var f=p.zInfo,g=He(f.component),_=g.z,M=g.zlevel,w={component:f.component,z:_,zlevel:M,z2:Ue(f.z2,-1/0)},I=gt({},p.triggerInfo);this._opt=Zt(gt({},p),{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0,zInfoParsed:w,triggerInfo:I,cursorGrab:"grab",cursorGrabbing:"grabbing"}),u==null&&(u=!0),(!this._enabled||this._controlType!==u)&&(this.disable(),this._enabled=!0,(u===!0||u==="move"||u==="pan")&&(pe(e,"mousedown",t,w),pe(e,"mousemove",n,w),pe(e,"mouseup",o,w)),(u===!0||u==="scale"||u==="zoom")&&(pe(e,"mousewheel",s,w),pe(e,"pinch",l,w)))},a.disable=function(){this._enabled&&(this._enabled=!1,he(e,"mousedown",t),he(e,"mousemove",n),he(e,"mouseup",o),he(e,"mousewheel",s),he(e,"pinch",l))},a}return r.prototype.isDragging=function(){return this._dragging},r.prototype.isPinching=function(){return this._pinching},r.prototype._checkPointer=function(e,a,t){var n=this._opt,o=n.zInfoParsed;if(dr(e,n.api,o.component))return!1;var s=n.triggerInfo,l=s.roamTrigger,u=!1;return l==="global"&&(u=!0),u||(u=s.isInSelf(e,a,t)),u&&s.isInClip&&!s.isInClip(e,a,t)&&(u=!1),u},r.prototype._decideCursorStyle=function(e,a,t,n){var o=e.target;if(!o&&this._checkPointer(e,a,t))return this._opt.cursorGrab;if(n)return o&&o.cursor||"default"},r.prototype.dispose=function(){this.disable()},r.prototype._mousedownHandler=function(e){if(!(mt(e)||de(e))){for(var a=e.target;a;){if(a.draggable)return;a=a.__hostTarget||a.parent}var t=e.offsetX,n=e.offsetY;this._checkPointer(e,t,n)&&(this._x=t,this._y=n,this._dragging=!0)}},r.prototype._mousemoveHandler=function(e){var a=this._zr;if(!(e.gestureEvent==="pinch"||Rt(a,"globalPan")||de(e))){var t=e.offsetX,n=e.offsetY;if(!this._dragging||!Se("moveOnMouseMove",e,this._opt)){var o=this._decideCursorStyle(e,t,n,!1);o&&a.setCursorStyle(o);return}a.setCursorStyle(this._opt.cursorGrabbing);var s=this._x,l=this._y,u=t-s,p=n-l;this._x=t,this._y=n,this._opt.preventDefaultMouseMove&&we(e.event),e.__ecRoamConsumed=!0,Tt(this,"pan","moveOnMouseMove",e,{dx:u,dy:p,oldX:s,oldY:l,newX:t,newY:n,isAvailableBehavior:null})}},r.prototype._mouseupHandler=function(e){if(!de(e)){var a=this._zr;if(!mt(e)){this._dragging=!1;var t=this._decideCursorStyle(e,e.offsetX,e.offsetY,!0);t&&a.setCursorStyle(t)}}},r.prototype._mousewheelHandler=function(e){if(!de(e)){var a=Se("zoomOnMouseWheel",e,this._opt),t=Se("moveOnMouseWheel",e,this._opt),n=e.wheelDelta,o=Math.abs(n),s=e.offsetX,l=e.offsetY;if(!(n===0||!a&&!t)){if(a){var u=o>3?1.4:o>1?1.2:1.1,p=n>0?u:1/u;this._checkTriggerMoveZoom(this,"zoom","zoomOnMouseWheel",e,{scale:p,originX:s,originY:l,isAvailableBehavior:null})}if(t){var f=Math.abs(n),g=(n>0?1:-1)*(f>3?.4:f>1?.15:.05);this._checkTriggerMoveZoom(this,"scrollMove","moveOnMouseWheel",e,{scrollDelta:g,originX:s,originY:l,isAvailableBehavior:null})}}}},r.prototype._pinchHandler=function(e){if(!(Rt(this._zr,"globalPan")||de(e))){var a=e.pinchScale>1?1.1:1/1.1;this._checkTriggerMoveZoom(this,"zoom",null,e,{scale:a,originX:e.pinchX,originY:e.pinchY,isAvailableBehavior:null})}},r.prototype._checkTriggerMoveZoom=function(e,a,t,n,o){e._checkPointer(n,o.originX,o.originY)&&(we(n.event),n.__ecRoamConsumed=!0,Tt(e,a,t,n,o))},r})(Ma);function de(i){return i.__ecRoamConsumed}var hr=Te();function Ie(i){var r=hr(i);return r.roam=r.roam||{},r.uniform=r.uniform||{},r}function pe(i,r,e,a){for(var t=Ie(i),n=t.roam,o=n[r]=n[r]||[],s=0;sn&&(r[1-a]=ne(r[a],f.sign*n)),r}function Ee(i,r){var e=i[r]-i[1-r];return{span:Math.abs(e),sign:e>0?-1:e<0?1:r?-1:1}}function ie(i,r){return Math.min(r[1]!=null?r[1]:1/0,Math.max(r[0]!=null?r[0]:-1/0,i))}var It=["x","y","radius","angle","single"],gr=Te(),mr=["cartesian2d","polar","singleAxis"];function _r(i){var r=i.get("coordinateSystem");return Nt(mr,r)>=0}function Q(i){return i+"Axis"}function yr(i,r){var e=ee(),a=[],t=ee();i.eachComponent({mainType:"dataZoom",query:r},function(p){t.get(p.uid)||s(p)});var n;do n=!1,i.eachComponent("dataZoom",o);while(n);function o(p){!t.get(p.uid)&&l(p)&&(s(p),n=!0)}function s(p){t.set(p.uid,!0),a.push(p),u(p)}function l(p){var f=!1;return p.eachTargetAxis(function(g,_){var M=e.get(g);M&&M[_]&&(f=!0)}),f}function u(p){p.eachTargetAxis(function(f,g){(e.get(f)||e.set(f,[]))[g]=!0})}return a}function Ft(i){var r=i.ecModel,e={infoList:[],infoMap:ee()};return i.eachTargetAxis(function(a,t){var n=r.getComponent(Q(a),t);if(n){var o=n.getCoordSysModel();if(o){var s=o.uid,l=e.infoMap.get(s);l||(l={model:o,axisModels:[]},e.infoList.push(l),e.infoMap.set(s,l)),l.axisModels.push(n)}}}),e}function Wt(i){var r=gr(Sa(i));return r.axisProxyMap||(r.axisProxyMap=ee())}function Ae(i){if(i)return Wt(i.ecModel).get(i.uid)}function br(i,r){Wt(i.ecModel).set(i.uid,r)}function Yt(i,r){var e=r.getAxisModel().axis.__alignTo;return e&&i.getAxisProxy(e.dim,e.model.componentIndex)?Ae(e.model):null}var Oe=(function(){function i(){this.indexList=[],this.indexMap=[]}return i.prototype.add=function(r){this.indexMap[r]||(this.indexList.push(r),this.indexMap[r]=!0)},i})(),Re=(function(i){ae(r,i);function r(){var e=i!==null&&i.apply(this,arguments)||this;return e.type=r.type,e._autoThrottle=!0,e._noTarget=!0,e._rangePropMode=["percent","percent"],e}return r.prototype.init=function(e,a,t){var n=Lt(e);this.settledOption=n,this.mergeDefaultAndTheme(e,t),this._doInit(n)},r.prototype.mergeOption=function(e){var a=Lt(e);_t(this.option,e,!0),_t(this.settledOption,a,!0),this._doInit(a)},r.prototype._doInit=function(e){var a=this.option;this._setDefaultThrottle(e),this._updateRangeUse(e);var t=this.settledOption;T([["start","startValue"],["end","endValue"]],function(n,o){this._rangePropMode[o]==="value"&&(a[n[0]]=t[n[0]]=null)},this),this._resetTarget()},r.prototype._resetTarget=function(){var e=this.get("orient",!0),a=this._targetAxisInfoMap=ee(),t=this._fillSpecifiedTargetAxis(a);t?this._orient=e||this._makeAutoOrientByTargetAxis():(this._orient=e||"horizontal",this._fillAutoTargetAxisByOrient(a,this._orient)),this._noTarget=!0,a.each(function(n){n.indexList.length&&(this._noTarget=!1)},this)},r.prototype._fillSpecifiedTargetAxis=function(e){var a=!1;return T(It,function(t){var n=this.getReferringComponents(Q(t),wa);if(n.specified){a=!0;var o=new Oe;T(n.models,function(s){o.add(s.componentIndex)}),e.set(t,o)}},this),a},r.prototype._fillAutoTargetAxisByOrient=function(e,a){var t=this.ecModel,n=!0;if(n){var o=a==="vertical"?"y":"x",s=t.findComponents({mainType:o+"Axis"});l(s,o)}if(n){var s=t.findComponents({mainType:"singleAxis",filter:function(p){return p.get("orient",!0)===a}});l(s,"single")}function l(u,p){var f=u[0];if(f){var g=new Oe;if(g.add(f.componentIndex),e.set(p,g),n=!1,p==="x"||p==="y"){var _=f.getReferringComponents("grid",Fe).models[0];_&&T(u,function(M){f.componentIndex!==M.componentIndex&&_===M.getReferringComponents("grid",Fe).models[0]&&g.add(M.componentIndex)})}}}n&&T(It,function(u){if(n){var p=t.findComponents({mainType:Q(u),filter:function(g){return g.get("type",!0)==="category"}});if(p[0]){var f=new Oe;f.add(p[0].componentIndex),e.set(u,f),n=!1}}},this)},r.prototype._makeAutoOrientByTargetAxis=function(){var e;return this.eachTargetAxis(function(a){!e&&(e=a)},this),e==="y"?"vertical":"horizontal"},r.prototype._setDefaultThrottle=function(e){if(e.hasOwnProperty("throttle")&&(this._autoThrottle=!1),this._autoThrottle){var a=this.ecModel.option;this.option.throttle=a.animation&&a.animationDurationUpdate>0?100:20}},r.prototype._updateRangeUse=function(e){var a=this._rangePropMode,t=this.get("rangeMode");T([["start","startValue"],["end","endValue"]],function(n,o){var s=e[n[0]]!=null,l=e[n[1]]!=null;s&&!l?a[o]="percent":!s&&l?a[o]="value":t?a[o]=t[o]:s&&(a[o]="percent")})},r.prototype.noTarget=function(){return this._noTarget},r.prototype.getFirstTargetAxisModel=function(){var e;return this.eachTargetAxis(function(a,t){e==null&&(e=this.ecModel.getComponent(Q(a),t))},this),e},r.prototype.eachTargetAxis=function(e,a){this._targetAxisInfoMap.each(function(t,n){T(t.indexList,function(o){e.call(a,n,o)})})},r.prototype.getAxisProxy=function(e,a){return Ae(this.getAxisModel(e,a))},r.prototype.getAxisModel=function(e,a){var t=this._targetAxisInfoMap.get(e);if(t&&t.indexMap[a])return this.ecModel.getComponent(Q(e),a)},r.prototype.setRawRange=function(e){var a=this.option,t=this.settledOption;T([["start","startValue"],["end","endValue"]],function(n){(e[n[0]]!=null||e[n[1]]!=null)&&(a[n[0]]=t[n[0]]=e[n[0]],a[n[1]]=t[n[1]]=e[n[1]])},this),this._updateRangeUse(e)},r.prototype.setCalculatedRange=function(e){var a=this.option;T(["start","startValue","end","endValue"],function(t){a[t]=e[t]})},r.prototype.getPercentRange=function(){var e=this.findRepresentativeAxisProxy();if(e)return e.getWindow().percent},r.prototype.getValueRange=function(e,a){if(e==null&&a==null){var t=this.findRepresentativeAxisProxy();if(t)return t.getWindow().value}else return this.getAxisProxy(e,a).getWindow().value},r.prototype.findRepresentativeAxisProxy=function(e){if(e)return Ae(e);for(var a,t=this._targetAxisInfoMap.keys(),n=0;no[1];if(L&&!y&&!S)return!0;L&&(I=!0),y&&(M=!0),S&&(w=!0)}return I&&M&&w})}else T(p,function(_){if(n==="empty")l.setData(u=u.map(_,function(w){return s(w)?w:NaN}));else{var M={};M[_]=o,u.selectRange(M)}});T(p,function(_){u.setApproximateExtent(o,_)})}});function s(l){return l>=o[0]&&l<=o[1]}},i.prototype._updateMinMaxSpan=function(){var r=this._minMaxSpan={},e=this._dataZoomModel,a=this._extent;T(["min","max"],function(t){var n=e.get(t+"Span"),o=e.get(t+"ValueSpan");o!=null&&(o=this.getAxisModel().axis.scale.parse(o)),o!=null?n=Z(a[0]+o,a,[0,100],!0):n!=null&&(o=Z(n,[0,100],a,!0)-a[0]),r[t+"Span"]=n,r[t+"ValueSpan"]=o},this)},i})(),Mr={dirtyOnOverallProgress:!0,getTargetSeries:function(i){function r(t){i.eachComponent("dataZoom",function(n){n.eachTargetAxis(function(o,s){var l=i.getComponent(Q(o),s);t(o,s,l,n)})})}var e=[];r(function(t,n,o,s){if(!Ae(o)){var l=new xr(t,n,s,i);e.push(l),br(o,l)}});var a=ee();return T(e,function(t){T(t.getTargetSeriesModels(),function(n){a.set(n.uid,n)})}),a},overallReset:function(i,r){i.eachComponent("dataZoom",function(e){var a=[];e.eachTargetAxis(function(t,n){var o=e.getAxisProxy(t,n),s=Yt(e,o);s?a.push([o,s]):o.reset(e,null)}),T(a,function(t){t[0].reset(e,t[1].getWindow().percentInverted)}),e.eachTargetAxis(function(t,n){e.getAxisProxy(t,n).filterData(e,r)})}),i.eachComponent("dataZoom",function(e){var a=e.findRepresentativeAxisProxy();if(a){var t=a.getWindow(),n=t.percent,o=t.value;e.setCalculatedRange({start:n[0],end:n[1],startValue:o[0],endValue:o[1]})}})}};function Sr(i){i.registerAction("dataZoom",function(r,e){var a=yr(e,r);T(a,function(t){t.setRawRange({start:r.start,end:r.end,startValue:r.startValue,endValue:r.endValue})})})}var wr=Za();function Kt(i){wr(i,function(){i.registerProcessor(i.PRIORITY.PROCESSOR.FILTER,Mr),Sr(i),i.registerSubTypeDefaulter("dataZoom",function(){return"slider"})})}var Ar=(function(i){ae(r,i);function r(){var e=i!==null&&i.apply(this,arguments)||this;return e.type=r.type,e}return r.type="dataZoom.inside",r.defaultOption=$t(Re.defaultOption,{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),r})(Re),Ye=Te();function Rr(i,r,e){Ye(i).coordSysRecordMap.each(function(a){var t=a.dataZoomInfoMap.get(r.uid);t&&(t.getRange=e)})}function Tr(i,r){for(var e=Ye(i).coordSysRecordMap,a=e.keys(),t=0;tn[t+a]&&(a=f),o=o&&p.get("preventDefaultMouseMove",!0),s=Ue(p.get("cursorGrab",!0),s),l=Ue(p.get("cursorGrabbing",!0),l)}),{controlType:a,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!o,api:e,zInfo:{component:r.model},triggerInfo:{roamTrigger:null,isInSelf:r.containsPoint},cursorGrab:s,cursorGrabbing:l}}}function kr(i){i.registerUpdateLifecycle("coordsys:aftercreate",function(r,e){var a=Ye(e),t=a.coordSysRecordMap||(a.coordSysRecordMap=ee());t.each(function(n){n.dataZoomInfoMap=null}),r.eachComponent({mainType:"dataZoom",subType:"inside"},function(n){var o=Ft(n);T(o.infoList,function(s){var l=s.model.uid,u=t.get(l)||t.set(l,Ir(e,s.model)),p=u.dataZoomInfoMap||(u.dataZoomInfoMap=ee());p.set(n.uid,{dzReferCoordSysInfo:s,model:n,getRange:null})})}),t.each(function(n){var o=n.controller,s,l=n.dataZoomInfoMap;if(l){var u=l.keys()[0];u!=null&&(s=l.get(u))}if(!s){qt(t,n);return}var p=Cr(l,n,e);o.enable(p.controlType,p.opt),Ht(n,"dispatchAction",s.model.get("throttle",!0),"fixRate")})})}var Pr=(function(i){ae(r,i);function r(){var e=i!==null&&i.apply(this,arguments)||this;return e.type="dataZoom.inside",e}return r.prototype.render=function(e,a,t){if(i.prototype.render.apply(this,arguments),e.noTarget()){this._clear();return}this.range=e.getPercentRange(),Rr(t,e,{pan:C(Ze.pan,this),zoom:C(Ze.zoom,this),scrollMove:C(Ze.scrollMove,this)})},r.prototype.dispose=function(){this._clear(),i.prototype.dispose.apply(this,arguments)},r.prototype._clear=function(){Tr(this.api,this.dataZoomModel),this.range=null},r.type="dataZoom.inside",r})(Xt),Ze={zoom:function(i,r,e,a){var t=this.range,n=t.slice(),o=i.axisModels[0];if(o){var s=ze[r](null,[a.originX,a.originY],o,e,i),l=(s.signal>0?s.pixelStart+s.pixelLength-s.pixel:s.pixel-s.pixelStart)/s.pixelLength*(n[1]-n[0])+n[0],u=Math.max(1/a.scale,0);n[0]=(n[0]-l)*u+l,n[1]=(n[1]-l)*u+l;var p=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();if(me(0,n,[0,100],0,p.minSpan,p.maxSpan),this.range=n,t[0]!==n[0]||t[1]!==n[1])return n}},pan:Dt(function(i,r,e,a,t,n){var o=ze[a]([n.oldX,n.oldY],[n.newX,n.newY],r,t,e);return o.signal*(i[1]-i[0])*o.pixel/o.pixelLength}),scrollMove:Dt(function(i,r,e,a,t,n){var o=ze[a]([0,0],[n.scrollDelta,n.scrollDelta],r,t,e);return o.signal*(i[1]-i[0])*n.scrollDelta})};function Dt(i){return function(r,e,a,t){var n=this.range,o=n.slice(),s=r.axisModels[0];if(s){var l=i(o,s,r,e,a,t);if(me(l,o,[0,100],"all"),this.range=o,n[0]!==o[0]||n[1]!==o[1])return o}}}var ze={grid:function(i,r,e,a,t){var n=e.axis,o={},s=t.model.coordinateSystem.getRect();return i=i||[0,0],n.dim==="x"?(o.pixel=r[0]-i[0],o.pixelLength=s.width,o.pixelStart=s.x,o.signal=n.inverse?1:-1):(o.pixel=r[1]-i[1],o.pixelLength=s.height,o.pixelStart=s.y,o.signal=n.inverse?-1:1),o},polar:function(i,r,e,a,t){var n=e.axis,o={},s=t.model.coordinateSystem,l=s.getRadiusAxis().getExtent(),u=s.getAngleAxis().getExtent();return i=i?s.pointToCoord(i):[0,0],r=s.pointToCoord(r),e.mainType==="radiusAxis"?(o.pixel=r[0]-i[0],o.pixelLength=l[1]-l[0],o.pixelStart=l[0],o.signal=n.inverse?1:-1):(o.pixel=r[1]-i[1],o.pixelLength=u[1]-u[0],o.pixelStart=u[0],o.signal=n.inverse?-1:1),o},singleAxis:function(i,r,e,a,t){var n=e.axis,o=t.model.coordinateSystem.getRect(),s={};return i=i||[0,0],n.orient==="horizontal"?(s.pixel=r[0]-i[0],s.pixelLength=o.width,s.pixelStart=o.x,s.signal=n.inverse?1:-1):(s.pixel=r[1]-i[1],s.pixelLength=o.height,s.pixelStart=o.y,s.signal=n.inverse?-1:1),s}};function Er(i){Kt(i),i.registerComponentModel(Ar),i.registerComponentView(Pr),kr(i)}var Or=(function(i){ae(r,i);function r(){var e=i!==null&&i.apply(this,arguments)||this;return e.type=r.type,e}return r.type="dataZoom.slider",r.layoutMode="box",r.defaultOption=$t(Re.defaultOption,{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,borderColor:G.color.accent10,borderRadius:0,backgroundColor:G.color.transparent,dataBackground:{lineStyle:{color:G.color.accent30,width:.5},areaStyle:{color:G.color.accent20,opacity:.2}},selectedDataBackground:{lineStyle:{color:G.color.accent40,width:.5},areaStyle:{color:G.color.accent20,opacity:.3}},fillerColor:"rgba(135,175,274,0.2)",handleIcon:"path://M-9.35,34.56V42m0-40V9.5m-2,0h4a2,2,0,0,1,2,2v21a2,2,0,0,1-2,2h-4a2,2,0,0,1-2-2v-21A2,2,0,0,1-11.35,9.5Z",handleSize:"100%",handleStyle:{color:G.color.neutral00,borderColor:G.color.accent20},moveHandleSize:7,moveHandleIcon:"path://M-320.9-50L-320.9-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-348-41-339-50-320.9-50z M-212.3-50L-212.3-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-239.4-41-230.4-50-212.3-50z M-103.7-50L-103.7-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-130.9-41-121.8-50-103.7-50z",moveHandleStyle:{color:G.color.accent40,opacity:.5},showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:G.color.tertiary},brushSelect:!0,brushStyle:{color:G.color.accent30,opacity:.3},emphasis:{handleLabel:{show:!0},handleStyle:{borderColor:G.color.accent40},moveHandleStyle:{opacity:.8}},defaultLocationEdgeGap:15}),r})(Re),fe=Me,Zr=1,Ne=30,zr=7,ve="horizontal",Ct="vertical",Nr=5,Gr=["line","bar","candlestick","scatter"],Vr={easing:"cubicOut",duration:100,delay:0},Br=(function(i){ae(r,i);function r(){var e=i!==null&&i.apply(this,arguments)||this;return e.type=r.type,e._displayables={},e}return r.prototype.init=function(e,a){this.api=a,this._onBrush=C(this._onBrush,this),this._onBrushEnd=C(this._onBrushEnd,this)},r.prototype.render=function(e,a,t,n){if(i.prototype.render.apply(this,arguments),Ht(this,"_dispatchZoomAction",e.get("throttle"),"fixRate"),this._orient=e.getOrient(),e.get("show")===!1){this.group.removeAll();return}if(e.noTarget()){this._clear(),this.group.removeAll();return}(!n||n.type!=="dataZoom"||n.from!==this.uid)&&this._buildView(),this._updateView()},r.prototype.dispose=function(){this._clear(),i.prototype.dispose.apply(this,arguments)},r.prototype._clear=function(){za(this,"_dispatchZoomAction");var e=this.api.getZr();e.off("mousemove",this._onBrush),e.off("mouseup",this._onBrushEnd)},r.prototype._buildView=function(){var e=this.group;e.removeAll(),this._brushing=!1,this._displayables.brushRect=null,this._resetLocation(),this._resetInterval();var a=this._displayables.sliderGroup=new xt;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),e.add(a),this._positionGroup()},r.prototype._resetLocation=function(){var e=this.dataZoomModel,a=this.api,t=e.get("brushSelect"),n=t?zr:0,o=Na(e,a).refContainer,s=this._findCoordRect(),l=e.get("defaultLocationEdgeGap",!0)||0,u=this._orient===ve?{right:o.width-s.x-s.width,top:o.height-Ne-l-n,width:s.width,height:Ne}:{right:l,top:s.y,width:Ne,height:s.height},p=Ga(e.option);T(["right","top","width","height"],function(g){p[g]==="ph"&&(p[g]=u[g])});var f=Va(p,o);this._location={x:f.x,y:f.y},this._size=[f.width,f.height],this._orient===Ct&&this._size.reverse()},r.prototype._positionGroup=function(){var e=this.group,a=this._location,t=this._orient,n=this.dataZoomModel.getFirstTargetAxisModel(),o=n&&n.get("inverse"),s=this._displayables.sliderGroup,l=(this._dataShadowInfo||{}).otherAxisInverse;s.attr(t===ve&&!o?{scaleY:l?1:-1,scaleX:1}:t===ve&&o?{scaleY:l?1:-1,scaleX:-1}:t===Ct&&!o?{scaleY:l?-1:1,scaleX:1,rotation:Math.PI/2}:{scaleY:l?-1:1,scaleX:-1,rotation:Math.PI/2});var u=e.getBoundingRect([s]),p=isNaN(u.x)?0:u.x,f=isNaN(u.y)?0:u.y;e.x=a.x-p,e.y=a.y-f,e.markRedraw()},r.prototype._getViewExtent=function(){return[0,this._size[0]]},r.prototype._renderBackground=function(){var e=this.dataZoomModel,a=this._size,t=this._displayables.sliderGroup,n=e.get("brushSelect");t.add(new fe({silent:!0,shape:{x:0,y:0,width:a[0],height:a[1]},style:{fill:e.get("backgroundColor")},z2:-40}));var o=new fe({shape:{x:0,y:0,width:a[0],height:a[1]},style:{fill:"transparent"},z2:0,onclick:C(this._onClickPanel,this)}),s=this.api.getZr();n?(o.on("mousedown",this._onBrushStart,this),o.cursor="crosshair",s.on("mousemove",this._onBrush),s.on("mouseup",this._onBrushEnd)):(s.off("mousemove",this._onBrush),s.off("mouseup",this._onBrushEnd)),t.add(o)},r.prototype._renderDataShadow=function(){var e=this._dataShadowInfo=this._prepareDataShadowInfo();if(this._displayables.dataShadowSegs=[],!e)return;var a=this._size,t=this._shadowSize||[],n=e.series,o=n.getRawData(),s=n.getShadowDim&&n.getShadowDim(),l=s&&o.getDimensionInfo(s)?n.getShadowDim():e.otherDim;if(l==null)return;var u=this._shadowPolygonPts,p=this._shadowPolylinePts;if(o!==this._shadowData||l!==this._shadowDim||a[0]!==t[0]||a[1]!==t[1]){var f=o.getDataExtent(e.thisDim),g=o.getDataExtent(l),_=(g[1]-g[0])*.3;g=[g[0]-_,g[1]+_];var M=[0,a[1]],w=[0,a[0]],I=[[a[0],0],[0,0]],R=[],P=w[1]/Math.max(1,o.count()-1),L=a[0]/(f[1]-f[0]),y=e.thisAxis.type==="time",S=-P,D=Math.round(o.count()/a[0]),V;o.each([e.thisDim,l],function(B,F,J){if(D>0&&J%D){y||(S+=P);return}S=y?(+B-f[0])*L:S+P;var W=F==null||isNaN(F)||F==="",oe=W?0:Z(F,g,M,!0);W&&!V&&J?(I.push([I[I.length-1][0],0]),R.push([R[R.length-1][0],0])):!W&&V&&(I.push([S,0]),R.push([S,0])),W||(I.push([S,oe]),R.push([S,oe])),V=W}),u=this._shadowPolygonPts=I,p=this._shadowPolylinePts=R}this._shadowData=o,this._shadowDim=l,this._shadowSize=[a[0],a[1]];var U=this.dataZoomModel;function N(B){var F=U.getModel(B?"selectedDataBackground":"dataBackground"),J=new xt,W=new Xa({shape:{points:u},segmentIgnoreThreshold:1,style:F.getModel("areaStyle").getAreaStyle(),silent:!0,z2:-20}),oe=new Ka({shape:{points:p},segmentIgnoreThreshold:1,style:F.getModel("lineStyle").getLineStyle(),silent:!0,z2:-19});return J.add(W),J.add(oe),J}for(var te=0;te<3;te++){var re=N(te===1);this._displayables.sliderGroup.add(re),this._displayables.dataShadowSegs.push(re)}},r.prototype._prepareDataShadowInfo=function(){var e=this.dataZoomModel,a=e.get("showDataShadow");if(a!==!1){var t,n=this.ecModel;return e.eachTargetAxis(function(o,s){var l=e.getAxisProxy(o,s).getTargetSeriesModels();T(l,function(u){if(!t&&!(a!==!0&&Nt(Gr,u.get("type"))<0)){var p=n.getComponent(Q(o),s).axis,f=$r(o),g,_=u.coordinateSystem;f!=null&&_.getOtherAxis&&(g=_.getOtherAxis(p).inverse),f=u.getData().mapDimension(f);var M=u.getData().mapDimension(o);t={thisAxis:p,series:u,thisDim:M,otherDim:f,otherAxisInverse:g}}},this)},this),t}},r.prototype._renderHandle=function(){var e=this.group,a=this._displayables,t=a.handles=[null,null],n=a.handleLabels=[null,null],o=this._displayables.sliderGroup,s=this._size,l=this.dataZoomModel,u=this.api,p=l.get("borderRadius")||0,f=l.get("brushSelect"),g=a.filler=new fe({silent:f,style:{fill:l.get("fillerColor")},textConfig:{position:"inside"}});o.add(g),o.add(new fe({silent:!0,subPixelOptimize:!0,shape:{x:0,y:0,width:s[0],height:s[1],r:p},style:{stroke:l.get("dataBackgroundColor")||l.get("borderColor"),lineWidth:Zr,fill:G.color.transparent}})),T([0,1],function(L){var y=l.get("handleIcon");!Ba[y]&&y.indexOf("path://")<0&&y.indexOf("image://")<0&&(y="path://"+y);var S=Mt(y,-1,0,2,2,null,!0);S.attr({cursor:Hr(this._orient),draggable:!0,drift:C(this._onDragMove,this,L),ondragend:C(this._onDragEnd,this),onmouseover:C(this._onOverDataInfoTriggerArea,this,!0),onmouseout:C(this._onOverDataInfoTriggerArea,this,!1),z2:5});var D=S.getBoundingRect(),V=l.get("handleSize");this._handleHeight=St(V,this._size[1]),this._handleWidth=D.width/D.height*this._handleHeight,S.setStyle(l.getModel("handleStyle").getItemStyle()),S.style.strokeNoScale=!0,S.rectHover=!0,S.ensureState("emphasis").style=l.getModel(["emphasis","handleStyle"]).getItemStyle(),$a(S);var U=l.get("handleColor");U!=null&&(S.style.fill=U),o.add(t[L]=S);var N=l.getModel("textStyle"),te=l.get("handleLabel")||{},re=te.show||!1;e.add(n[L]=new Ha({silent:!0,invisible:!re,style:Ua(N,{x:0,y:0,text:"",verticalAlign:"middle",align:"center",fill:N.getTextColor(),font:N.getFont()}),z2:10}))},this);var _=g;if(f){var M=St(l.get("moveHandleSize"),s[1]),w=a.moveHandle=new Me({style:l.getModel("moveHandleStyle").getItemStyle(),silent:!0,shape:{r:[0,0,2,2],y:s[1]-.5,height:M}}),I=M*.8,R=a.moveHandleIcon=Mt(l.get("moveHandleIcon"),-I/2,-I/2,I,I,G.color.neutral00,!0);R.silent=!0,R.y=s[1]+M/2-.5,w.ensureState("emphasis").style=l.getModel(["emphasis","moveHandleStyle"]).getItemStyle();var P=Math.min(s[1]/2,Math.max(M,10));_=a.moveZone=new Me({invisible:!0,shape:{y:s[1]-P,height:M+P}}),_.on("mouseover",function(){u.enterEmphasis(w)}).on("mouseout",function(){u.leaveEmphasis(w)}),o.add(w),o.add(R),o.add(_)}_.attr({draggable:!0,cursor:"grab",drift:C(this._onActualMoveZoneDrift,this),ondragstart:C(this._onActualMoveZoneDragStart,this),ondragend:C(this._onActualMoveZoneDragEnd,this),onmouseover:C(this._onOverDataInfoTriggerArea,this,!0),onmouseout:C(this._onOverDataInfoTriggerArea,this,!1)})},r.prototype._resetInterval=function(){var e=this._range=this.dataZoomModel.getPercentRange(),a=this._getViewExtent();this._handleEnds=[Z(e[0],[0,100],a,!0),Z(e[1],[0,100],a,!0)]},r.prototype._updateInterval=function(e,a){var t=this.dataZoomModel,n=this._handleEnds,o=this._getViewExtent(),s=t.findRepresentativeAxisProxy().getMinMaxSpan(),l=[0,100];me(a,n,o,t.get("zoomLock")?"all":e,s.minSpan!=null?Z(s.minSpan,l,o,!0):null,s.maxSpan!=null?Z(s.maxSpan,l,o,!0):null);var u=this._range,p=this._range=se([Z(n[0],o,l,!0),Z(n[1],o,l,!0)]);return!u||u[0]!==p[0]||u[1]!==p[1]},r.prototype._updateView=function(e){var a=this._displayables,t=this._handleEnds,n=se(t.slice()),o=this._size;T([0,1],function(_){var M=a.handles[_],w=this._handleHeight;M.attr({scaleX:w/2,scaleY:w/2,x:t[_]+(_?-1:1),y:o[1]/2-w/2})},this),a.filler.setShape({x:n[0],y:0,width:n[1]-n[0],height:o[1]});var s={x:n[0],width:n[1]-n[0]};a.moveHandle&&(a.moveHandle.setShape(s),a.moveZone.setShape(s),a.moveZone.getBoundingRect(),a.moveHandleIcon&&a.moveHandleIcon.attr("x",s.x+s.width/2));for(var l=a.dataShadowSegs,u=[0,n[0],n[1],o[0]],p=0;pa[0]||t[1]<0||t[1]>a[1])){var n=this._handleEnds,o=(n[0]+n[1])/2,s=this._updateInterval("all",t[0]-o);this._updateView(),s&&this._dispatchZoomAction(!1)}},r.prototype._onBrushStart=function(e){var a=e.offsetX,t=e.offsetY;this._brushStart=new Ya(a,t),this._brushing=!0,this._brushStartTime=+new Date},r.prototype._onBrushEnd=function(e){if(this._brushing){var a=this._displayables.brushRect;if(this._brushing=!1,!!a){a.attr("ignore",!0);var t=a.shape,n=+new Date;if(!(n-this._brushStartTime<200&&Math.abs(t.width)<5)){var o=this._getViewExtent(),s=[0,100],l=this._handleEnds=[t.x,t.x+t.width],u=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();me(0,l,o,0,u.minSpan!=null?Z(u.minSpan,s,o,!0):null,u.maxSpan!=null?Z(u.maxSpan,s,o,!0):null),this._range=se([Z(l[0],o,s,!0),Z(l[1],o,s,!0)]),this._updateView(),this._dispatchZoomAction(!1)}}}},r.prototype._onBrush=function(e){this._brushing&&(we(e.event),this._updateBrushRect(e.offsetX,e.offsetY))},r.prototype._updateBrushRect=function(e,a){var t=this._displayables,n=this.dataZoomModel,o=t.brushRect;o||(o=t.brushRect=new fe({silent:!0,style:n.getModel("brushStyle").getItemStyle()}),t.sliderGroup.add(o)),o.attr("ignore",!1);var s=this._brushStart,l=this._displayables.sliderGroup,u=l.transformCoordToLocal(e,a),p=l.transformCoordToLocal(s.x,s.y),f=this._size;u[0]=Math.max(Math.min(f[0],u[0]),0),o.setShape({x:p[0],y:0,width:u[0]-p[0],height:f[1]})},r.prototype._dispatchZoomAction=function(e){var a=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,animation:e?Vr:null,start:a[0],end:a[1]})},r.prototype._findCoordRect=function(){var e,a=Ft(this.dataZoomModel).infoList;if(!e&&a.length){var t=a[0].model.coordinateSystem;e=t.getRect&&t.getRect()}if(!e){var n=this.api.getWidth(),o=this.api.getHeight();e={x:n*.2,y:o*.2,width:n*.6,height:o*.6}}return e},r.type="dataZoom.slider",r})(Xt);function kt(i,r,e,a){var t=i.get("labelFormatter"),n=i.get("labelPrecision");(n==null||n==="auto")&&(n=e.valuePrecision);var o=e.value[r],s=o==null||isNaN(o)?"":Gt(a)||Vt(a)?a.getLabel({value:Math.round(o)}):isFinite(n)?Bt(o,n,!0):o+"";return qa(t)?t(o,s):zt(t)?t.replace("{value}",s):s}function $r(i){var r={x:"y",y:"x",radius:"angle",angle:"radius"};return r[i]}function Hr(i){return i==="vertical"?"ns-resize":"ew-resize"}function Ur(i){i.registerComponentModel(Or),i.registerComponentView(Br),Kt(i)}function Fr(i){We(Er),We(Ur)}const Wr={class:"overview-layout","aria-label":"训练任务信息"},Yr=Ot({__name:"TrainingTaskOverview",props:{task:{},dataset:{},baseModelName:{}},setup(i){function r(e){if(!e)return"-";const a=new Date(e);return Number.isNaN(a.getTime())?e:a.toLocaleString("zh-CN",{hour12:!1})}return(e,a)=>{const t=Pt,n=Et;return H(),pa(ge,{class:"task-overview",title:"任务信息",subtitle:"模型、数据集与运行配置"},{default:x(()=>[c("div",Wr,[m(n,{class:"task-descriptions task-profile",column:2,border:""},{default:x(()=>[m(t,{label:"任务 ID"},{default:x(()=>{var o;return[A(v(((o=i.task)==null?void 0:o.id)??"-"),1)]}),_:1}),m(t,{label:"创建时间"},{default:x(()=>{var o;return[A(v(r((o=i.task)==null?void 0:o.create_time)),1)]}),_:1}),m(t,{label:"基座模型"},{default:x(()=>[A(v(i.baseModelName),1)]),_:1}),m(t,{label:"输出模型"},{default:x(()=>{var o;return[A(v(((o=i.task)==null?void 0:o.output_model_name)||"暂未生成"),1)]}),_:1}),m(t,{label:"训练方式"},{default:x(()=>{var o;return[A(v((o=i.task)!=null&&o.train_type?j(Be)[i.task.train_type]||i.task.train_type:"未配置"),1)]}),_:1}),m(t,{label:"训练方法"},{default:x(()=>{var o;return[A(v((o=i.task)!=null&&o.train_method?j($e)[i.task.train_method]||i.task.train_method:"未配置"),1)]}),_:1}),m(t,{label:"训练数据集","class-name":"dataset-profile"},{default:x(()=>{var o,s;return[A(v(((o=i.dataset)==null?void 0:o.name)||((s=i.task)!=null&&s.train_dataset_id?"正在加载":"未配置")),1)]}),_:1}),m(t,{label:"数据类型"},{default:x(()=>[A(v(i.dataset&&(j(ha)[i.dataset.type]||i.dataset.type)||"未配置"),1)]),_:1}),m(t,{label:"数据条数"},{default:x(()=>{var o,s,l;return[A(v(((s=(o=i.dataset)==null?void 0:o.count)==null?void 0:s.toLocaleString("zh-CN"))??"未配置")+v(((l=i.dataset)==null?void 0:l.count)!=null?" 条":""),1)]}),_:1}),m(t,{label:"数据大小"},{default:x(()=>{var o;return[A(v(((o=i.dataset)==null?void 0:o.size)||"未配置"),1)]}),_:1}),m(t,{label:"训练开始时间","class-name":"runtime-panel"},{default:x(()=>{var o;return[A(v(r((o=i.task)==null?void 0:o.create_time)),1)]}),_:1}),m(t,{label:"训练时长"},{default:x(()=>{var o;return[A(v(((o=i.task)==null?void 0:o.train_duration)||"未配置"),1)]}),_:1}),m(t,{label:"存储位置"},{default:x(()=>{var o,s;return[A(v(j(fa)[((o=i.dataset)==null?void 0:o.storage_type)||""]||((s=i.dataset)==null?void 0:s.storage_type)||"未配置"),1)]}),_:1}),m(t,{label:"使用 GPU"},{default:x(()=>{var o,s;return[A(v((s=(o=i.task)==null?void 0:o.gpus)!=null&&s.length?i.task.gpus.join("、"):"未配置"),1)]}),_:1})]),_:1})])]),_:1})}}}),Xr=Ut(Yr,[["__scopeId","data-v-61ae1f69"]]);We([ja,ar,Ja,Qa,er,Fr]);const jt="[-+]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][-+]?\\d+)?";function Jt(i){return i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function be(i,r){const e=i.match(new RegExp(`['"]?${Jt(r)}['"]?\\s*:\\s*(${jt})`,"i"));return e?Number(e[1]):void 0}function Ge(i,r){const e=i.match(new RegExp(`['"]?${Jt(r)}['"]?\\s*(?:=|:)\\s*(${jt})`,"i"));return(e==null?void 0:e[1])||""}function Kr(i,r){const e=r.process_id;if(e!=null){const t=i.find(s=>s.pid===e);if(t)return t;const n=new RegExp(`(?:^|[^0-9])(?:pid)?${e}(?:[^0-9]|$)`,"i"),o=i.find(s=>n.test(s.file));if(o)return o}const a=r.name.trim();if(a)return i.find(t=>t.name.includes(a)||t.file.includes(a))}function qr(i){const r={loss:[],gradNorm:[],lr:[],epoch:[]},e=i.match(/\{[^{}\r\n]*\}/g)||[];for(const a of e){const t=be(a,"loss"),n=be(a,"grad_norm"),o=be(a,"learning_rate"),s=be(a,"epoch");t==null||n==null||o==null||(r.loss.push(t),r.gradNorm.push(n),r.lr.push(o),s!=null&&r.epoch.push(s))}return r}function jr(i){const r={epoch:"",trainLoss:"",runtime:""},e=/\*{5}\s*train metrics\s*\*{5}/i.exec(i);if(!e)return r;const a=i.slice(e.index+e[0].length),t=/\*{5}\s*train metrics end\s*\*{5}/i.exec(a),n=t?a.slice(0,t.index):a;return{epoch:Ge(n,"epoch"),trainLoss:Ge(n,"train_loss"),runtime:Ge(n,"train_runtime")}}function Jr(i){return{metrics:qr(i),summary:jr(i)}}function Ve(i,r,e,a=!1){return{grid:{top:24,right:20,bottom:56,left:56},tooltip:{trigger:"axis",axisPointer:{type:"cross"},backgroundColor:"rgba(15, 23, 42, 0.9)",borderWidth:0,textStyle:{color:"#fff",fontSize:12}},xAxis:{type:"category",boundaryGap:!1,name:"Step",nameTextStyle:{color:"#94a3b8",fontSize:11},axisLine:{lineStyle:{color:"#e2e8f0"}},axisLabel:{color:"#94a3b8",fontSize:11},splitLine:{show:!1}},yAxis:{type:a?"log":"value",name:i,nameTextStyle:{color:"#94a3b8",fontSize:11},axisLine:{show:!1},axisTick:{show:!1},axisLabel:{color:"#94a3b8",fontSize:11},splitLine:{lineStyle:{color:"#f1f5f9"}}},dataZoom:r.length>30?[{type:"inside",start:0,end:100},{type:"slider",height:16,bottom:8,borderColor:"transparent",fillerColor:"rgba(79,70,229,0.08)",handleStyle:{color:"#4f46e5"}}]:[],series:[{name:i,type:"line",data:r,smooth:!0,symbol:"none",lineStyle:{width:2,color:e},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:`${e}55`},{offset:1,color:`${e}05`}]}}}]}}const Qr={class:"training-log"},eo={key:0,"element-loading-text":"正在加载训练详情…",class:"loading-wrap"},to={class:"task-page-header","aria-labelledby":"task-page-title"},ao={class:"task-page-title-row"},ro={id:"task-page-title"},oo={class:"task-page-description"},no={class:"task-context-row","aria-label":"训练任务关键上下文"},io={class:"task-context-item"},so={class:"task-context-item"},lo={class:"task-context-item"},uo={class:"task-context-item"},co={class:"overview-card-header"},po={class:"overview-monitor-meta"},ho={class:"overview-refresh-state"},fo={class:"training-progress-panel","aria-labelledby":"training-progress-title"},vo={class:"training-progress-heading"},go={class:"training-metric-grid","aria-label":"训练关键指标"},mo={class:"training-metric-cell"},_o={class:"training-metric-cell"},yo={class:"training-metric-cell"},bo={class:"gpu-monitor","aria-labelledby":"gpu-monitor-title"},xo={class:"gpu-monitor-heading"},Mo={key:0,id:"gpu-device-list",class:"gpu-device-list",role:"table","aria-label":"GPU 设备实时运行状态"},So={class:"gpu-device-identity",role:"cell"},wo=["title"],Ao={class:"gpu-utilization-cell",role:"cell"},Ro={class:"gpu-cell-value"},To={class:"gpu-memory-cell",role:"cell"},Io={class:"gpu-resource-cell gpu-temperature-cell",role:"cell"},Lo={class:"gpu-resource-cell gpu-power-cell",role:"cell"},Do={key:1,class:"gpu-empty-state"},Co={key:2,class:"gpu-list-footer"},ko={class:"gpu-list-note"},Po={id:"training-parameter-content",class:"params-body"},Eo={class:"parameter-groups"},Oo={class:"parameter-group base-parameter-group","aria-label":"基础训练参数"},Zo={key:0,class:"parameter-group lora-parameter-group","aria-labelledby":"lora-params-title"},zo={class:"parameter-section-heading"},No={class:"chart-list","aria-label":"训练指标曲线"},Go={class:"chart-section"},Vo={class:"chart-section-header"},Bo={class:"chart-latest"},$o={class:"chart-section"},Ho={class:"chart-section-header"},Uo={class:"chart-latest"},Fo={class:"chart-section"},Wo={class:"chart-section-header"},Yo={class:"chart-latest"},Xo={class:"log-meta"},Ko={class:"log-pre"},xe=4,qo=Ot({__name:"TrainingLogView",setup(i){const e=ga().params.id,a=rr(),t=q(null),n=q(null),o=q(""),s=q([]),l=q(null),u=q(""),p=q(!0),f=vt({loss:[],gradNorm:[],lr:[],epoch:[]}),g=vt({epoch:"",trainLoss:"",runtime:""}),_=q(!1),M=q(!1);let w=!1;const I=O(()=>Ve("Loss",f.loss,"#4f46e5")),R=O(()=>Ve("Grad Norm",f.gradNorm,"#3b82f6")),P=O(()=>Ve("Learning Rate",f.lr,"#14b8a6",!0)),L=O(()=>{var h;return((h=t.value)==null?void 0:h.base_model)!=null?a.getModelName(t.value.base_model):"未配置"}),y=O(()=>{var h;return(h=t.value)!=null&&h.train_type?Be[t.value.train_type]||t.value.train_type:"未配置"}),S=O(()=>{var h;return(h=t.value)!=null&&h.train_method?$e[t.value.train_method]||t.value.train_method:"未配置"}),D=O(()=>{var h,d;return(d=(h=t.value)==null?void 0:h.gpus)!=null&&d.length?t.value.gpus.map(E=>`GPU ${E}`).join("、"):"未配置"}),V=O(()=>f.loss[f.loss.length-1]),U=O(()=>f.gradNorm[f.gradNorm.length-1]),N=O(()=>f.lr[f.lr.length-1]),te=O(()=>f.epoch[f.epoch.length-1]),re=O(()=>o.value?o.value.split(/\r?\n/).length:0),B=O(()=>{var h;return(((h=t.value)==null?void 0:h.gpus)??[]).map(d=>{const E=Number(d),X=s.value.find(z=>z.id!=null&&Number(z.id)===E)??s.value[E];return{index:E,gpu:X}})}),F=O(()=>{const h=B.value;if(!h.length)return"当前任务未配置 GPU";const d=h.filter($=>$.gpu),E=d.length?Math.round(d.reduce(($,Ce)=>{var ce;return $+Y((ce=Ce.gpu)==null?void 0:ce.gpu_percent)},0)/d.length):0,X=h.map($=>_e($.gpu).className),z=X.filter($=>$==="is-busy").length,ue=X.filter($=>["is-danger","is-warning","is-unavailable"].includes($)).length,De=ue?` · ${ue} 张需关注`:"";return`${h.length} 张 GPU · ${z} 张运行中${De} · 平均利用率 ${E}%`}),J=O(()=>{const h=B.value;return M.value||h.length<=xe?h:[...h].sort((d,E)=>Ke(d.gpu)-Ke(E.gpu)||d.index-E.index).slice(0,xe).sort((d,E)=>d.index-E.index)}),W=O(()=>Math.max(0,B.value.length-xe)),oe=O(()=>{if(!l.value)return u.value||"正在获取 GPU 状态";const h=l.value.toLocaleTimeString("zh-CN",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"});return u.value?`更新失败 · 最后更新 ${h}`:`${h} 更新 · 每 5 秒刷新`});function le(h,d=!1){return h==null||!Number.isFinite(h)?"-":d?h.toExponential(2):h.toFixed(4).replace(/0+$/,"").replace(/\.$/,"")}function Y(h){return Math.round(Math.min(100,Math.max(0,Number(h||0))))}function Le(h){return h==null||!Number.isFinite(Number(h))?"-":Number(h).toLocaleString("zh-CN",{maximumFractionDigits:1})}function Xe(h){return h?h.memory_percent!=null?Y(h.memory_percent):h.memory_total_gb?Y(h.memory_used_gb/h.memory_total_gb*100):0:0}function _e(h){return h?h.status==="offline"?{label:"离线",className:"is-danger"}:h.status==="warning"||h.temperature>=80||Xe(h)>=90?{label:"需关注",className:"is-warning"}:h.status==="busy"||h.gpu_percent>=10?{label:"运行中",className:"is-busy"}:{label:"空闲",className:"is-idle"}:{label:"数据不可用",className:"is-unavailable"}}function Ke(h){return{"is-danger":0,"is-warning":1,"is-unavailable":2,"is-busy":3,"is-idle":4}[_e(h).className]??5}function Qt(h){const d=Y(h);return d>=90?"var(--el-color-danger)":d>=75?"var(--el-color-warning)":"var(--el-color-primary)"}async function ea(){try{const h=await or(e);return t.value=h,h}catch{return t.value=null,null}}async function ta(h){try{n.value=await lr(h)||null}catch{n.value=null}}async function aa(){try{const h=await ma();s.value=h.gpu??[],l.value=new Date,u.value=""}catch{u.value="GPU 监控数据暂时不可用",l.value||(s.value=[])}}const ra=O(()=>{var h;return String(((h=t.value)==null?void 0:h.train_method)||"").toLowerCase().includes("lora")});function ye(h){const d=Jr(h);o.value=h,f.loss=d.metrics.loss,f.gradNorm=d.metrics.gradNorm,f.lr=d.metrics.lr,f.epoch=d.metrics.epoch,Object.assign(g,d.summary)}async function oa(h){try{const d=await nr(h.id,{tail_lines:800});if(d!=null&&d.content||h.failure_reason){ye((d==null?void 0:d.content)||h.failure_reason||"");return}}catch{}try{const d=await ir()||[],E=Kr(d,h);if(E){const X=await sr(E.file);ye(X.content||"")}else ye("")}catch{}}async function qe(){if(!w){w=!0;try{const h=await ea();if(!h){n.value=null,ye("");return}h.train_dataset_id||(n.value=null);const d=h.train_dataset_id?ta(h.train_dataset_id):Promise.resolve();await Promise.all([d,oa(h),aa()])}finally{p.value=!1,w=!1}}}const je=()=>{var h;return["completed","failed","stopped","cancelled"].includes(((h=t.value)==null?void 0:h.status)||"")},{start:na,stop:ia}=tr(async()=>{await qe(),je()&&ia()},3e3,{immediate:!1});return va(async()=>{a.load(),await qe(),je()||na()}),(h,d)=>{var ce,Je,Qe,et;const E=ca,X=sa,z=Pt,ue=Et,De=la,$=ua,Ce=da;return H(),K("div",Qr,[p.value?dt((H(),K("div",eo,null,512)),[[Ce,!0]]):(H(),K(pt,{key:1},[c("header",to,[d[9]||(d[9]=c("span",{class:"page-eyebrow"},"模型微调 · 训练任务详情",-1)),c("div",ao,[c("h1",ro,v(((ce=t.value)==null?void 0:ce.name)||"训练任务详情"),1),m(At,{status:(Je=t.value)==null?void 0:Je.status},null,8,["status"])]),c("p",oo,v(((Qe=t.value)==null?void 0:Qe.description)||"查看模型微调任务的运行状态、训练指标与日志"),1),c("div",no,[c("span",io,[d[2]||(d[2]=c("span",null,"任务 ID",-1)),c("strong",null,"#"+v(((et=t.value)==null?void 0:et.id)??"-"),1)]),d[6]||(d[6]=c("i",{class:"task-context-divider","aria-hidden":"true"},null,-1)),c("span",so,[d[3]||(d[3]=c("span",null,"基座模型",-1)),c("strong",null,v(L.value),1)]),d[7]||(d[7]=c("i",{class:"task-context-divider","aria-hidden":"true"},null,-1)),c("span",lo,[d[4]||(d[4]=c("span",null,"训练配置",-1)),c("strong",null,v(y.value)+" · "+v(S.value),1)]),d[8]||(d[8]=c("i",{class:"task-context-divider","aria-hidden":"true"},null,-1)),c("span",uo,[d[5]||(d[5]=c("span",null,"计算资源",-1)),c("strong",null,v(D.value),1)])])]),m(ge,{class:"summary-card"},{header:x(()=>{var b;return[c("div",co,[d[10]||(d[10]=c("div",{class:"overview-card-title"},[c("h2",{id:"training-overview-title"},"训练概览"),c("p",null,"实时监控训练进度、收敛指标与 GPU 资源占用")],-1)),c("div",po,[m(At,{status:(b=t.value)==null?void 0:b.status},null,8,["status"]),c("span",ho,v(oe.value),1)])])]}),default:x(()=>{var b,tt,at;return[c("section",fo,[c("div",vo,[d[12]||(d[12]=c("div",null,[c("span",{id:"training-progress-title"},"整体训练进度"),c("small",null,"根据训练任务当前执行进度实时更新")],-1)),c("strong",null,[A(v(Y((b=t.value)==null?void 0:b.progress)),1),d[11]||(d[11]=c("small",null,"%",-1))])]),m(E,{percentage:Y((tt=t.value)==null?void 0:tt.progress),"show-text":!1,"stroke-width":8,"aria-label":"整体训练进度"},null,8,["percentage"])]),c("section",go,[c("article",mo,[d[13]||(d[13]=c("span",null,"当前 Epoch",-1)),c("strong",null,v(g.epoch||le(te.value)),1),d[14]||(d[14]=c("small",null,"训练轮次",-1))]),c("article",_o,[d[15]||(d[15]=c("span",null,"当前 Loss",-1)),c("strong",null,v(le(V.value)),1),c("small",null,v(f.loss.length)+" 个采样点",1)]),c("article",yo,[d[16]||(d[16]=c("span",null,"运行时长",-1)),c("strong",null,v(g.runtime?`${g.runtime}s`:((at=t.value)==null?void 0:at.train_duration)||"-"),1),d[17]||(d[17]=c("small",null,"任务累计运行时间",-1))])]),c("section",bo,[c("div",xo,[c("div",null,[d[18]||(d[18]=c("h3",{id:"gpu-monitor-title"},"GPU 运行状态",-1)),c("p",null,v(F.value),1)])]),B.value.length?(H(),K("div",Mo,[d[24]||(d[24]=c("div",{class:"gpu-list-header",role:"row"},[c("span",{role:"columnheader"},"设备"),c("span",{role:"columnheader"},"状态"),c("span",{role:"columnheader"},"计算利用率"),c("span",{role:"columnheader"},"显存占用"),c("span",{role:"columnheader"},"温度"),c("span",{role:"columnheader"},"功耗")],-1)),(H(!0),K(pt,null,_a(J.value,k=>{var rt,ot,nt,it,st,lt,ut,ct;return H(),K("article",{key:k.index,class:"gpu-device-row",role:"row"},[c("div",So,[c("strong",null,"GPU "+v(k.index),1),c("span",{title:((rt=k.gpu)==null?void 0:rt.name)||"未检测到设备信息"},v(((ot=k.gpu)==null?void 0:ot.name)||"未检测到设备信息"),9,wo)]),c("span",{class:ht(["gpu-status",_e(k.gpu).className]),role:"cell"},[d[19]||(d[19]=c("i",{"aria-hidden":"true"},null,-1)),A(" "+v(_e(k.gpu).label),1)],2),c("div",Ao,[c("div",Ro,[d[20]||(d[20]=c("span",{class:"gpu-mobile-label"},"计算利用率",-1)),c("strong",null,v(Y((nt=k.gpu)==null?void 0:nt.gpu_percent))+"%",1)]),m(E,{percentage:Y((it=k.gpu)==null?void 0:it.gpu_percent),"show-text":!1,"stroke-width":6,color:Qt((st=k.gpu)==null?void 0:st.gpu_percent),"aria-label":`GPU ${k.index} 计算利用率 ${Y((lt=k.gpu)==null?void 0:lt.gpu_percent)}%`},null,8,["percentage","color","aria-label"])]),c("div",To,[d[21]||(d[21]=c("span",{class:"gpu-mobile-label"},"显存占用",-1)),c("strong",null,v(Xe(k.gpu))+"%",1),c("small",null,v(Le((ut=k.gpu)==null?void 0:ut.memory_used_gb))+" / "+v(Le((ct=k.gpu)==null?void 0:ct.memory_total_gb))+" GB",1)]),c("div",Io,[d[22]||(d[22]=c("span",{class:"gpu-mobile-label"},"温度",-1)),c("strong",null,v(k.gpu?`${k.gpu.temperature}°C`:"-"),1)]),c("div",Lo,[d[23]||(d[23]=c("span",{class:"gpu-mobile-label"},"功耗",-1)),c("strong",null,v(k.gpu?`${Le(k.gpu.power_w)} W`:"-"),1)])])}),128))])):(H(),K("div",Do,"当前训练任务未配置 GPU")),B.value.length>xe?(H(),K("div",Co,[c("span",ko,v(M.value?`已展示全部 ${B.value.length} 张 GPU`:`已展示 4 张,另有 ${W.value} 张;异常和运行中设备优先`),1),m(X,{type:"primary",link:"",class:"gpu-toggle-button","aria-expanded":M.value,"aria-controls":"gpu-device-list",onClick:d[0]||(d[0]=k=>M.value=!M.value)},{default:x(()=>[A(v(M.value?"收起 GPU 列表":`展开全部 ${B.value.length} 张 GPU`),1)]),_:1},8,["aria-expanded"])])):ft("",!0)])]}),_:1}),m(Xr,{task:t.value,dataset:n.value,"base-model-name":L.value},null,8,["task","dataset","base-model-name"]),m(ge,{class:ht(["parameters-card",{"is-collapsed":!_.value}]),title:"训练参数",subtitle:"查看本次模型微调使用的基础参数和 LoRA 配置"},{extra:x(()=>[m(X,{type:"primary",link:"",class:"params-toggle-button","aria-expanded":_.value,"aria-controls":"training-parameter-content",onClick:d[1]||(d[1]=b=>_.value=!_.value)},{default:x(()=>[A(v(_.value?"收起参数":"展开参数"),1)]),_:1},8,["aria-expanded"])]),default:x(()=>[m($,null,{default:x(()=>[dt(c("div",Po,[c("div",Eo,[c("section",Oo,[m(ue,{class:"parameter-descriptions",column:2,border:""},{default:x(()=>[m(z,{label:"训练方式"},{default:x(()=>{var b;return[A(v((b=t.value)!=null&&b.train_type?j(Be)[t.value.train_type]||t.value.train_type:"未配置"),1)]}),_:1}),m(z,{label:"训练方法"},{default:x(()=>{var b;return[A(v((b=t.value)!=null&&b.train_method?j($e)[t.value.train_method]||t.value.train_method:"未配置"),1)]}),_:1}),m(z,{label:"Batch Size"},{default:x(()=>{var b;return[A(v(((b=t.value)==null?void 0:b.batch_size)??"未配置"),1)]}),_:1}),m(z,{label:"Learning Rate"},{default:x(()=>{var b;return[A(v(((b=t.value)==null?void 0:b.learning_rate)??"未配置"),1)]}),_:1}),m(z,{label:"训练轮数"},{default:x(()=>{var b;return[A(v(((b=t.value)==null?void 0:b.n_epochs)??"未配置"),1)]}),_:1}),m(z,{label:"保存间隔"},{default:x(()=>{var b;return[A(v(((b=t.value)==null?void 0:b.save_steps)??"未配置"),1)]}),_:1}),m(z,{label:"学习率调度器"},{default:x(()=>{var b;return[A(v(((b=t.value)==null?void 0:b.lr_scheduler_type)||"未配置"),1)]}),_:1}),m(z,{label:"最大序列长度"},{default:x(()=>{var b;return[A(v(((b=t.value)==null?void 0:b.max_length)??"未配置"),1)]}),_:1}),m(z,{label:"权重衰减"},{default:x(()=>{var b;return[A(v(((b=t.value)==null?void 0:b.weight_decay)??"未配置"),1)]}),_:1})]),_:1})]),ra.value?(H(),K("section",Zo,[c("div",zo,[d[26]||(d[26]=c("h3",{id:"lora-params-title"},"LoRA 参数",-1)),m(De,{size:"small",type:"primary",effect:"plain"},{default:x(()=>[...d[25]||(d[25]=[A("LoRA",-1)])]),_:1})]),m(ue,{class:"parameter-descriptions",column:2,border:""},{default:x(()=>[m(z,{label:"LoRA Rank"},{default:x(()=>{var b;return[A(v(((b=t.value)==null?void 0:b.lora_rank)??"未配置"),1)]}),_:1}),m(z,{label:"LoRA Alpha"},{default:x(()=>{var b;return[A(v(((b=t.value)==null?void 0:b.lora_alpha)??"未配置"),1)]}),_:1}),m(z,{label:"LoRA Dropout"},{default:x(()=>{var b;return[A(v(((b=t.value)==null?void 0:b.lora_dropout)??"未配置"),1)]}),_:1})]),_:1})])):ft("",!0)])],512),[[ya,_.value]])]),_:1})]),_:1},8,["class"]),m(ge,{class:"metrics-panel",title:"训练曲线",subtitle:"持续监控模型收敛情况与学习率变化"},{extra:x(()=>[...d[27]||(d[27]=[c("span",{class:"refresh-state"},"每 5 秒刷新",-1)])]),default:x(()=>[c("div",No,[c("section",Go,[c("div",Vo,[d[28]||(d[28]=c("span",{class:"chart-section-title"},"Loss",-1)),c("span",Bo,"最新 "+v(le(V.value)),1)]),m(j(Pe),{class:"chart-canvas",option:I.value,autoresize:""},null,8,["option"])]),c("section",$o,[c("div",Ho,[d[29]||(d[29]=c("span",{class:"chart-section-title"},"梯度范数",-1)),c("span",Uo,"最新 "+v(le(U.value)),1)]),m(j(Pe),{class:"chart-canvas",option:R.value,autoresize:""},null,8,["option"])]),c("section",Fo,[c("div",Wo,[d[30]||(d[30]=c("span",{class:"chart-section-title"},"学习率",-1)),c("span",Yo,"最新 "+v(le(N.value,!0)),1)]),m(j(Pe),{class:"chart-canvas",option:P.value,autoresize:""},null,8,["option"])])])]),_:1}),m(ge,{class:"log-card",title:"训练日志",subtitle:"查看训练任务的原始运行输出"},{extra:x(()=>[c("span",Xo,v(re.value)+" 行 · 每 5 秒刷新",1)]),default:x(()=>[c("pre",Ko,v(o.value||"暂无日志"),1)]),_:1})],64))])}}}),yn=Ut(qo,[["__scopeId","data-v-8cf5eceb"]]);export{yn as default};