import{E as da}from"./index-9zpOHVFd.js";import{E as pa}from"./el-tag-DPsbND_Z.js";import{E as ha}from"./index-CY_fcpS9.js";import{E as Et,a as Ot}from"./el-descriptions-DTUKw_Lt.js";import{E as fa}from"./el-progress-QxrdzpaU.js";import{v as va}from"./directive-CGqZKDhv.js";import{d as Zt,e as zt,w as b,o as B,q as c,s as _,x as A,aa as g,f as q,aq as He,ar as Ue,aY as ga,aZ as ma,G as _a,c as H,K as ht,M as ke,n as ft,g as Pe,ac as ya,y as W,j as O,at as ba,ad as vt,L as xa,z as gt}from"./index-Dd84m4NL.js";/* empty css */import{ap as Te,bd as Ma,be as Sa,bf as Fe,_ as te,ak as C,r as We,a7 as mt,d as Nt,bg as _t,bh as we,bi as wa,aP as Gt,bj as oe,e as Q,bk as Aa,bl as Vt,bm as yt,E as T,bn as Ra,bo as Ye,bp as Ta,bq as Ia,ay as bt,ax as Z,f as se,br as Ee,k as Bt,bs as $t,z as La,bt as Da,aJ as Ht,H as Ca,I as ka,bu as Pa,bv as Ea,bw as Oa,bx as Za,U as za,w as Na,N as Ut,by as Ft,al as xt,O as V,bz as Ga,a1 as Mt,bA as Va,bB as Ba,bC as $a,a6 as Me,bD as Ha,aN as St,B as wt,bE as Ua,az as Fa,aK as Wa,bF as Ya,bG as Xa,bH as At,P as Ka,bI as qa,a as ja,aQ as Ja,aC as Xe,aD as Qa,aE as er,aF as tr,aG as ar,aH as Oe}from"./install-DD1EflGB.js";import{P as ie}from"./PageCard-Bj5UBPkt.js";import{_ as Rt}from"./ModelStatusTag.vue_vue_type_script_setup_true_lang-BCuQEsSn.js";import{_ as Wt}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{u as rr}from"./usePolling-DY3PpJx-.js";import{i as or}from"./install-DfPqeqdm.js";import{u as nr}from"./models-DxMjE4y2.js";import{b as ir,h as sr,i as lr}from"./fineTune-Diku0Wz4.js";import{c as ur,b as cr}from"./log-DzRLNxp4.js";import{b as dr}from"./dataset-BbHN1ZVd.js";import"./vnode-CasYkit1.js";import"./el-card-WMAJU1WK.js";import"./status-Dl1fykxa.js";import"./model-SG-pVLXE.js";var pr=Te();function Tt(i,r){return!!pr(i)[r]}Ma({type:"takeGlobalCursor",event:"globalCursorTaken",update:"update"},Sa);var hr={axisPointer:1,tooltip:1,brush:1};function fr(i,r,e){var a=r.getComponentByElement(i.topTarget);if(!a||a===e||hr.hasOwnProperty(a.mainType))return!1;var t=a.coordinateSystem;if(!t||t.model===e)return!1;var n=Fe(a),o=Fe(e);return!((n.zlevel-o.zlevel||n.z-o.z)<=0)}var vr=(function(i){te(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,v=Fe(f.component),x=v.z,M=v.zlevel,w={component:f.component,z:x,zlevel:M,z2:We(f.z2,-1/0)},I=mt({},p.triggerInfo);this._opt=Nt(mt({},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")&&(he(e,"mousedown",t,w),he(e,"mousemove",n,w),he(e,"mouseup",o,w)),(u===!0||u==="scale"||u==="zoom")&&(he(e,"mousewheel",s,w),he(e,"pinch",l,w)))},a.disable=function(){this._enabled&&(this._enabled=!1,fe(e,"mousedown",t),fe(e,"mousemove",n),fe(e,"mouseup",o),fe(e,"mousewheel",s),fe(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(fr(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(!(_t(e)||pe(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"||Tt(a,"globalPan")||pe(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,It(this,"pan","moveOnMouseMove",e,{dx:u,dy:p,oldX:s,oldY:l,newX:t,newY:n,isAvailableBehavior:null})}},r.prototype._mouseupHandler=function(e){if(!pe(e)){var a=this._zr;if(!_t(e)){this._dragging=!1;var t=this._decideCursorStyle(e,e.offsetX,e.offsetY,!0);t&&a.setCursorStyle(t)}}},r.prototype._mousewheelHandler=function(e){if(!pe(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),v=(n>0?1:-1)*(f>3?.4:f>1?.15:.05);this._checkTriggerMoveZoom(this,"scrollMove","moveOnMouseWheel",e,{scrollDelta:v,originX:s,originY:l,isAvailableBehavior:null})}}}},r.prototype._pinchHandler=function(e){if(!(Tt(this._zr,"globalPan")||pe(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,It(e,a,t,n,o))},r})(wa);function pe(i){return i.__ecRoamConsumed}var gr=Te();function Ie(i){var r=gr(i);return r.roam=r.roam||{},r.uniform=r.uniform||{},r}function he(i,r,e,a){for(var t=Ie(i),n=t.roam,o=n[r]=n[r]||[],s=0;sn&&(r[1-a]=oe(r[a],f.sign*n)),r}function Ze(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 ne(i,r){return Math.min(r[1]!=null?r[1]:1/0,Math.max(r[0]!=null?r[0]:-1/0,i))}var Lt=["x","y","radius","angle","single"],yr=Te(),br=["cartesian2d","polar","singleAxis"];function xr(i){var r=i.get("coordinateSystem");return Vt(br,r)>=0}function J(i){return i+"Axis"}function Mr(i,r){var e=Q(),a=[],t=Q();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(v,x){var M=e.get(v);M&&M[x]&&(f=!0)}),f}function u(p){p.eachTargetAxis(function(f,v){(e.get(f)||e.set(f,[]))[v]=!0})}return a}function Yt(i){var r=i.ecModel,e={infoList:[],infoMap:Q()};return i.eachTargetAxis(function(a,t){var n=r.getComponent(J(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 Xt(i){var r=yr(Aa(i));return r.axisProxyMap||(r.axisProxyMap=Q())}function Ae(i){if(i)return Xt(i.ecModel).get(i.uid)}function Sr(i,r){Xt(i.ecModel).set(i.uid,r)}function Kt(i,r){var e=r.getAxisModel().axis.__alignTo;return e&&i.getAxisProxy(e.dim,e.model.componentIndex)?Ae(e.model):null}var ze=(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){te(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=Dt(e);this.settledOption=n,this.mergeDefaultAndTheme(e,t),this._doInit(n)},r.prototype.mergeOption=function(e){var a=Dt(e);yt(this.option,e,!0),yt(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=Q(),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(Lt,function(t){var n=this.getReferringComponents(J(t),Ra);if(n.specified){a=!0;var o=new ze;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 v=new ze;if(v.add(f.componentIndex),e.set(p,v),n=!1,p==="x"||p==="y"){var x=f.getReferringComponents("grid",Ye).models[0];x&&T(u,function(M){f.componentIndex!==M.componentIndex&&x===M.getReferringComponents("grid",Ye).models[0]&&v.add(M.componentIndex)})}}}n&&T(Lt,function(u){if(n){var p=t.findComponents({mainType:J(u),filter:function(v){return v.get("type",!0)==="category"}});if(p[0]){var f=new ze;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(J(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(J(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(x){if(n==="empty")l.setData(u=u.map(x,function(w){return s(w)?w:NaN}));else{var M={};M[x]=o,u.selectRange(M)}});T(p,function(x){u.setApproximateExtent(o,x)})}});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})(),Ar={dirtyOnOverallProgress:!0,getTargetSeries:function(i){function r(t){i.eachComponent("dataZoom",function(n){n.eachTargetAxis(function(o,s){var l=i.getComponent(J(o),s);t(o,s,l,n)})})}var e=[];r(function(t,n,o,s){if(!Ae(o)){var l=new wr(t,n,s,i);e.push(l),Sr(o,l)}});var a=Q();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=Kt(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 Rr(i){i.registerAction("dataZoom",function(r,e){var a=Mr(e,r);T(a,function(t){t.setRawRange({start:r.start,end:r.end,startValue:r.startValue,endValue:r.endValue})})})}var Tr=Na();function jt(i){Tr(i,function(){i.registerProcessor(i.PRIORITY.PROCESSOR.FILTER,Ar),Rr(i),i.registerSubTypeDefaulter("dataZoom",function(){return"slider"})})}var Ir=(function(i){te(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=Ut(Re.defaultOption,{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),r})(Re),Ke=Te();function Lr(i,r,e){Ke(i).coordSysRecordMap.each(function(a){var t=a.dataZoomInfoMap.get(r.uid);t&&(t.getRange=e)})}function Dr(i,r){for(var e=Ke(i).coordSysRecordMap,a=e.keys(),t=0;tn[t+a]&&(a=f),o=o&&p.get("preventDefaultMouseMove",!0),s=We(p.get("cursorGrab",!0),s),l=We(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 Or(i){i.registerUpdateLifecycle("coordsys:aftercreate",function(r,e){var a=Ke(e),t=a.coordSysRecordMap||(a.coordSysRecordMap=Q());t.each(function(n){n.dataZoomInfoMap=null}),r.eachComponent({mainType:"dataZoom",subType:"inside"},function(n){var o=Yt(n);T(o.infoList,function(s){var l=s.model.uid,u=t.get(l)||t.set(l,Cr(e,s.model)),p=u.dataZoomInfoMap||(u.dataZoomInfoMap=Q());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){Jt(t,n);return}var p=Er(l,n,e);o.enable(p.controlType,p.opt),Ft(n,"dispatchAction",s.model.get("throttle",!0),"fixRate")})})}var Zr=(function(i){te(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(),Lr(t,e,{pan:C(Ne.pan,this),zoom:C(Ne.zoom,this),scrollMove:C(Ne.scrollMove,this)})},r.prototype.dispose=function(){this._clear(),i.prototype.dispose.apply(this,arguments)},r.prototype._clear=function(){Dr(this.api,this.dataZoomModel),this.range=null},r.type="dataZoom.inside",r})(qt),Ne={zoom:function(i,r,e,a){var t=this.range,n=t.slice(),o=i.axisModels[0];if(o){var s=Ge[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:Ct(function(i,r,e,a,t,n){var o=Ge[a]([n.oldX,n.oldY],[n.newX,n.newY],r,t,e);return o.signal*(i[1]-i[0])*o.pixel/o.pixelLength}),scrollMove:Ct(function(i,r,e,a,t,n){var o=Ge[a]([0,0],[n.scrollDelta,n.scrollDelta],r,t,e);return o.signal*(i[1]-i[0])*n.scrollDelta})};function Ct(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 Ge={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 zr(i){jt(i),i.registerComponentModel(Ir),i.registerComponentView(Zr),Or(i)}var Nr=(function(i){te(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=Ut(Re.defaultOption,{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,borderColor:V.color.accent10,borderRadius:0,backgroundColor:V.color.transparent,dataBackground:{lineStyle:{color:V.color.accent30,width:.5},areaStyle:{color:V.color.accent20,opacity:.2}},selectedDataBackground:{lineStyle:{color:V.color.accent40,width:.5},areaStyle:{color:V.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:V.color.neutral00,borderColor:V.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:V.color.accent40,opacity:.5},showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:V.color.tertiary},brushSelect:!0,brushStyle:{color:V.color.accent30,opacity:.3},emphasis:{handleLabel:{show:!0},handleStyle:{borderColor:V.color.accent40},moveHandleStyle:{opacity:.8}},defaultLocationEdgeGap:15}),r})(Re),ve=Me,Gr=1,Ve=30,Vr=7,ge="horizontal",kt="vertical",Br=5,$r=["line","bar","candlestick","scatter"],Hr={easing:"cubicOut",duration:100,delay:0},Ur=(function(i){te(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),Ft(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(){Ga(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 Mt;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?Vr:0,o=Va(e,a).refContainer,s=this._findCoordRect(),l=e.get("defaultLocationEdgeGap",!0)||0,u=this._orient===ge?{right:o.width-s.x-s.width,top:o.height-Ve-l-n,width:s.width,height:Ve}:{right:l,top:s.y,width:Ve,height:s.height},p=Ba(e.option);T(["right","top","width","height"],function(v){p[v]==="ph"&&(p[v]=u[v])});var f=$a(p,o);this._location={x:f.x,y:f.y},this._size=[f.width,f.height],this._orient===kt&&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===ge&&!o?{scaleY:l?1:-1,scaleX:1}:t===ge&&o?{scaleY:l?1:-1,scaleX:-1}:t===kt&&!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 ve({silent:!0,shape:{x:0,y:0,width:a[0],height:a[1]},style:{fill:e.get("backgroundColor")},z2:-40}));var o=new ve({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),v=o.getDataExtent(l),x=(v[1]-v[0])*.3;v=[v[0]-x,v[1]+x];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]),U;o.each([e.thisDim,l],function(le,G,j){if(D>0&&j%D){y||(S+=P);return}S=y?(+le-f[0])*L:S+P;var Y=G==null||isNaN(G)||G==="",re=Y?0:Z(G,v,M,!0);Y&&!U&&j?(I.push([I[I.length-1][0],0]),R.push([R[R.length-1][0],0])):!Y&&U&&(I.push([S,0]),R.push([S,0])),Y||(I.push([S,re]),R.push([S,re])),U=Y}),u=this._shadowPolygonPts=I,p=this._shadowPolylinePts=R}this._shadowData=o,this._shadowDim=l,this._shadowSize=[a[0],a[1]];var F=this.dataZoomModel;function N(le){var G=F.getModel(le?"selectedDataBackground":"dataBackground"),j=new Mt,Y=new qa({shape:{points:u},segmentIgnoreThreshold:1,style:G.getModel("areaStyle").getAreaStyle(),silent:!0,z2:-20}),re=new ja({shape:{points:p},segmentIgnoreThreshold:1,style:G.getModel("lineStyle").getLineStyle(),silent:!0,z2:-19});return j.add(Y),j.add(re),j}for(var ee=0;ee<3;ee++){var ae=N(ee===1);this._displayables.sliderGroup.add(ae),this._displayables.dataShadowSegs.push(ae)}},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&&Vt($r,u.get("type"))<0)){var p=n.getComponent(J(o),s).axis,f=Fr(o),v,x=u.coordinateSystem;f!=null&&x.getOtherAxis&&(v=x.getOtherAxis(p).inverse),f=u.getData().mapDimension(f);var M=u.getData().mapDimension(o);t={thisAxis:p,series:u,thisDim:M,otherDim:f,otherAxisInverse:v}}},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"),v=a.filler=new ve({silent:f,style:{fill:l.get("fillerColor")},textConfig:{position:"inside"}});o.add(v),o.add(new ve({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:Gr,fill:V.color.transparent}})),T([0,1],function(L){var y=l.get("handleIcon");!Ha[y]&&y.indexOf("path://")<0&&y.indexOf("image://")<0&&(y="path://"+y);var S=St(y,-1,0,2,2,null,!0);S.attr({cursor:Wr(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(),U=l.get("handleSize");this._handleHeight=wt(U,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(),Ua(S);var F=l.get("handleColor");F!=null&&(S.style.fill=F),o.add(t[L]=S);var N=l.getModel("textStyle"),ee=l.get("handleLabel")||{},ae=ee.show||!1;e.add(n[L]=new Fa({silent:!0,invisible:!ae,style:Wa(N,{x:0,y:0,text:"",verticalAlign:"middle",align:"center",fill:N.getTextColor(),font:N.getFont()}),z2:10}))},this);var x=v;if(f){var M=wt(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=St(l.get("moveHandleIcon"),-I/2,-I/2,I,I,V.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));x=a.moveZone=new Me({invisible:!0,shape:{y:s[1]-P,height:M+P}}),x.on("mouseover",function(){u.enterEmphasis(w)}).on("mouseout",function(){u.leaveEmphasis(w)}),o.add(w),o.add(R),o.add(x)}x.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(x){var M=a.handles[x],w=this._handleHeight;M.attr({scaleX:w/2,scaleY:w/2,x:t[x]+(x?-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 Ka(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 ve({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?Hr:null,start:a[0],end:a[1]})},r.prototype._findCoordRect=function(){var e,a=Yt(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})(qt);function Pt(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)?"":Bt(a)||$t(a)?a.getLabel({value:Math.round(o)}):isFinite(n)?Ht(o,n,!0):o+"";return Ja(t)?t(o,s):Gt(t)?t.replace("{value}",s):s}function Fr(i){var r={x:"y",y:"x",radius:"angle",angle:"radius"};return r[i]}function Wr(i){return i==="vertical"?"ns-resize":"ew-resize"}function Yr(i){i.registerComponentModel(Nr),i.registerComponentView(Ur),jt(i)}function Xr(i){Xe(zr),Xe(Yr)}const Kr={class:"overview-layout","aria-label":"训练任务信息"},qr=Zt({__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=Et,n=Ot;return B(),zt(ie,{class:"task-overview",title:"任务信息",subtitle:"模型、数据集与运行配置"},{default:b(()=>[c("div",Kr,[_(n,{class:"task-descriptions task-profile",column:2,border:""},{default:b(()=>[_(t,{label:"任务 ID"},{default:b(()=>{var o;return[A(g(((o=i.task)==null?void 0:o.id)??"-"),1)]}),_:1}),_(t,{label:"创建时间"},{default:b(()=>{var o;return[A(g(r((o=i.task)==null?void 0:o.create_time)),1)]}),_:1}),_(t,{label:"基座模型"},{default:b(()=>[A(g(i.baseModelName),1)]),_:1}),_(t,{label:"输出模型"},{default:b(()=>{var o;return[A(g(((o=i.task)==null?void 0:o.output_model_name)||"暂未生成"),1)]}),_:1}),_(t,{label:"训练方式"},{default:b(()=>{var o;return[A(g((o=i.task)!=null&&o.train_type?q(He)[i.task.train_type]||i.task.train_type:"未配置"),1)]}),_:1}),_(t,{label:"训练方法"},{default:b(()=>{var o;return[A(g((o=i.task)!=null&&o.train_method?q(Ue)[i.task.train_method]||i.task.train_method:"未配置"),1)]}),_:1}),_(t,{label:"训练数据集","class-name":"dataset-profile"},{default:b(()=>{var o,s;return[A(g(((o=i.dataset)==null?void 0:o.name)||((s=i.task)!=null&&s.train_dataset_id?"正在加载":"未配置")),1)]}),_:1}),_(t,{label:"数据类型"},{default:b(()=>[A(g(i.dataset&&(q(ga)[i.dataset.type]||i.dataset.type)||"未配置"),1)]),_:1}),_(t,{label:"数据条数"},{default:b(()=>{var o,s,l;return[A(g(((s=(o=i.dataset)==null?void 0:o.count)==null?void 0:s.toLocaleString("zh-CN"))??"未配置")+g(((l=i.dataset)==null?void 0:l.count)!=null?" 条":""),1)]}),_:1}),_(t,{label:"数据大小"},{default:b(()=>{var o;return[A(g(((o=i.dataset)==null?void 0:o.size)||"未配置"),1)]}),_:1}),_(t,{label:"训练开始时间","class-name":"runtime-panel"},{default:b(()=>{var o;return[A(g(r((o=i.task)==null?void 0:o.create_time)),1)]}),_:1}),_(t,{label:"训练时长"},{default:b(()=>{var o;return[A(g(((o=i.task)==null?void 0:o.train_duration)||"未配置"),1)]}),_:1}),_(t,{label:"存储位置"},{default:b(()=>{var o,s;return[A(g(q(ma)[((o=i.dataset)==null?void 0:o.storage_type)||""]||((s=i.dataset)==null?void 0:s.storage_type)||"未配置"),1)]}),_:1}),_(t,{label:"使用 GPU"},{default:b(()=>{var o,s;return[A(g((s=(o=i.task)==null?void 0:o.gpus)!=null&&s.length?i.task.gpus.join("、"):"未配置"),1)]}),_:1})]),_:1})])]),_:1})}}}),jr=Wt(qr,[["__scopeId","data-v-f3e298f0"]]);Xe([Qa,or,er,tr,ar,Xr]);const Qt="[-+]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][-+]?\\d+)?";function ea(i){return i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function be(i,r){const e=i.match(new RegExp(`['"]?${ea(r)}['"]?\\s*:\\s*(${Qt})`,"i"));return e?Number(e[1]):void 0}function Be(i,r){const e=i.match(new RegExp(`['"]?${ea(r)}['"]?\\s*(?:=|:)\\s*(${Qt})`,"i"));return(e==null?void 0:e[1])||""}function Jr(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 eo(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:Be(n,"epoch"),trainLoss:Be(n,"train_loss"),runtime:Be(n,"train_runtime")}}function to(i){return{metrics:Qr(i),summary:eo(i)}}function $e(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 ao={class:"training-log"},ro={key:0,"element-loading-text":"正在加载训练详情…",class:"loading-wrap"},oo={class:"task-page-header","aria-labelledby":"task-page-title"},no={class:"task-page-title-row"},io={id:"task-page-title"},so={class:"task-page-description"},lo={class:"task-context-row","aria-label":"训练任务关键上下文"},uo={class:"task-context-item"},co={class:"task-context-item"},po={class:"task-context-item"},ho={class:"task-context-item"},fo={class:"overview-card-header"},vo={class:"overview-monitor-meta"},go={class:"overview-refresh-state"},mo={class:"training-progress-panel","aria-labelledby":"training-progress-title"},_o={class:"training-progress-heading"},yo={class:"training-metric-grid","aria-label":"训练关键指标"},bo={class:"training-metric-cell"},xo={class:"training-metric-cell"},Mo={class:"training-metric-cell"},So={class:"gpu-monitor","aria-labelledby":"gpu-monitor-title"},wo={class:"gpu-monitor-heading"},Ao={key:0,id:"gpu-device-list",class:"gpu-device-list",role:"table","aria-label":"GPU 设备实时运行状态"},Ro={class:"gpu-device-identity",role:"cell"},To=["title"],Io={class:"gpu-utilization-cell",role:"cell"},Lo={class:"gpu-cell-value"},Do={class:"gpu-memory-cell",role:"cell"},Co={class:"gpu-resource-cell gpu-temperature-cell",role:"cell"},ko={class:"gpu-resource-cell gpu-power-cell",role:"cell"},Po={key:1,class:"gpu-empty-state"},Eo={key:2,class:"gpu-list-footer"},Oo={class:"gpu-list-note"},Zo={id:"training-parameter-content",class:"params-body"},zo={class:"parameter-groups"},No={class:"parameter-group base-parameter-group","aria-label":"基础训练参数"},Go={key:0,class:"parameter-group lora-parameter-group","aria-labelledby":"lora-params-title"},Vo={class:"parameter-section-heading"},Bo={class:"chart-list","aria-label":"训练指标曲线"},$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:"chart-section"},Ko={class:"chart-section-header"},qo={class:"chart-latest"},jo={class:"diagnostics-list"},Jo={class:"log-meta"},Qo={class:"log-pre"},xe=4,en=Zt({__name:"TrainingLogView",setup(i){const e=ya().params.id,a=nr(),t=W(null),n=W(null),o=W(""),s=W([]),l=W(null),u=W(""),p=W([]),f=W(!0),v=gt({loss:[],gradNorm:[],lr:[],epoch:[]}),x=gt({epoch:"",trainLoss:"",runtime:""}),M=W(!1),w=W(!1);let I=!1;const R=O(()=>$e("Loss",v.loss,"#4f46e5")),P=O(()=>$e("Grad Norm",v.gradNorm,"#3b82f6")),L=O(()=>$e("Learning Rate",v.lr,"#14b8a6",!0)),y=O(()=>{var h;return((h=t.value)==null?void 0:h.base_model)!=null?a.getModelName(t.value.base_model):"未配置"}),S=O(()=>{var h;return(h=t.value)!=null&&h.train_type?He[t.value.train_type]||t.value.train_type:"未配置"}),D=O(()=>{var h;return(h=t.value)!=null&&h.train_method?Ue[t.value.train_method]||t.value.train_method:"未配置"}),U=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("、"):"未配置"}),F=O(()=>v.loss[v.loss.length-1]),N=O(()=>v.gradNorm[v.gradNorm.length-1]),ee=O(()=>v.lr[v.lr.length-1]),ae=O(()=>v.epoch[v.epoch.length-1]),le=O(()=>o.value?o.value.split(/\r?\n/).length:0),G=O(()=>{var h;return(((h=t.value)==null?void 0:h.gpus)??[]).map(d=>{const E=Number(d),K=s.value.find(z=>z.id!=null&&Number(z.id)===E)??s.value[E];return{index:E,gpu:K}})}),j=O(()=>{const h=G.value;if(!h.length)return"当前任务未配置 GPU";const d=h.filter($=>$.gpu),E=d.length?Math.round(d.reduce(($,Ce)=>{var de;return $+X((de=Ce.gpu)==null?void 0:de.gpu_percent)},0)/d.length):0,K=h.map($=>_e($.gpu).className),z=K.filter($=>$==="is-busy").length,ce=K.filter($=>["is-danger","is-warning","is-unavailable"].includes($)).length,De=ce?` · ${ce} 张需关注`:"";return`${h.length} 张 GPU · ${z} 张运行中${De} · 平均利用率 ${E}%`}),Y=O(()=>{const h=G.value;return w.value||h.length<=xe?h:[...h].sort((d,E)=>je(d.gpu)-je(E.gpu)||d.index-E.index).slice(0,xe).sort((d,E)=>d.index-E.index)}),re=O(()=>Math.max(0,G.value.length-xe)),ta=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 ue(h,d=!1){return h==null||!Number.isFinite(h)?"-":d?h.toExponential(2):h.toFixed(4).replace(/0+$/,"").replace(/\.$/,"")}function X(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 qe(h){return h?h.memory_percent!=null?X(h.memory_percent):h.memory_total_gb?X(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||qe(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 je(h){return{"is-danger":0,"is-warning":1,"is-unavailable":2,"is-busy":3,"is-idle":4}[_e(h).className]??5}function aa(h){const d=X(h);return d>=90?"var(--el-color-danger)":d>=75?"var(--el-color-warning)":"var(--el-color-primary)"}async function ra(){try{const h=await ir(e);return t.value=h,h}catch{return t.value=null,null}}async function oa(h){try{n.value=await dr(h)||null}catch{n.value=null}}async function na(){try{const h=await ba();s.value=h.gpu??[],l.value=new Date,u.value=""}catch{u.value="GPU 监控数据暂时不可用",l.value||(s.value=[])}}const ia=O(()=>{var h;return String(((h=t.value)==null?void 0:h.train_method)||"").toLowerCase().includes("lora")});function ye(h){const d=to(h);o.value=h,v.loss=d.metrics.loss,v.gradNorm=d.metrics.gradNorm,v.lr=d.metrics.lr,v.epoch=d.metrics.epoch,Object.assign(x,d.summary)}async function sa(h){try{const d=await sr(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 ur()||[],E=Jr(d,h);if(E){const K=await cr(E.file);ye(K.content||"")}else ye("")}catch{}}async function la(h){if(h.status!=="failed"){p.value=[];return}try{const d=await lr(h.id);p.value=d.diagnostics||[]}catch{p.value=[]}}async function Je(){if(!I){I=!0;try{const h=await ra();if(!h){n.value=null,ye("");return}h.train_dataset_id||(n.value=null);const d=h.train_dataset_id?oa(h.train_dataset_id):Promise.resolve();await Promise.all([d,sa(h),na(),la(h)])}finally{f.value=!1,I=!1}}}const Qe=()=>{var h;return["completed","failed","stopped","cancelled"].includes(((h=t.value)==null?void 0:h.status)||"")},{start:ua,stop:ca}=rr(async()=>{await Je(),Qe()&&ca()},3e3,{immediate:!1});return _a(async()=>{a.load(),await Je(),Qe()||ua()}),(h,d)=>{var de,et,tt,at;const E=fa,K=da,z=Et,ce=Ot,De=pa,$=ha,Ce=va;return B(),H("div",ao,[f.value?ht((B(),H("div",ro,null,512)),[[Ce,!0]]):(B(),H(ke,{key:1},[c("header",oo,[d[9]||(d[9]=c("span",{class:"page-eyebrow"},"模型微调 · 训练任务详情",-1)),c("div",no,[c("h1",io,g(((de=t.value)==null?void 0:de.name)||"训练任务详情"),1),_(Rt,{status:(et=t.value)==null?void 0:et.status},null,8,["status"])]),c("p",so,g(((tt=t.value)==null?void 0:tt.description)||"查看模型微调任务的运行状态、训练指标与日志"),1),c("div",lo,[c("span",uo,[d[2]||(d[2]=c("span",null,"任务 ID",-1)),c("strong",null,"#"+g(((at=t.value)==null?void 0:at.id)??"-"),1)]),d[6]||(d[6]=c("i",{class:"task-context-divider","aria-hidden":"true"},null,-1)),c("span",co,[d[3]||(d[3]=c("span",null,"基座模型",-1)),c("strong",null,g(y.value),1)]),d[7]||(d[7]=c("i",{class:"task-context-divider","aria-hidden":"true"},null,-1)),c("span",po,[d[4]||(d[4]=c("span",null,"训练配置",-1)),c("strong",null,g(S.value)+" · "+g(D.value),1)]),d[8]||(d[8]=c("i",{class:"task-context-divider","aria-hidden":"true"},null,-1)),c("span",ho,[d[5]||(d[5]=c("span",null,"计算资源",-1)),c("strong",null,g(U.value),1)])])]),_(ie,{class:"summary-card"},{header:b(()=>{var m;return[c("div",fo,[d[10]||(d[10]=c("div",{class:"overview-card-title"},[c("h2",{id:"training-overview-title"},"训练概览"),c("p",null,"实时监控训练进度、收敛指标与 GPU 资源占用")],-1)),c("div",vo,[_(Rt,{status:(m=t.value)==null?void 0:m.status},null,8,["status"]),c("span",go,g(ta.value),1)])])]}),default:b(()=>{var m,rt,ot;return[c("section",mo,[c("div",_o,[d[12]||(d[12]=c("div",null,[c("span",{id:"training-progress-title"},"整体训练进度"),c("small",null,"根据训练任务当前执行进度实时更新")],-1)),c("strong",null,[A(g(X((m=t.value)==null?void 0:m.progress)),1),d[11]||(d[11]=c("small",null,"%",-1))])]),_(E,{percentage:X((rt=t.value)==null?void 0:rt.progress),"show-text":!1,"stroke-width":8,"aria-label":"整体训练进度"},null,8,["percentage"])]),c("section",yo,[c("article",bo,[d[13]||(d[13]=c("span",null,"当前 Epoch",-1)),c("strong",null,g(x.epoch||ue(ae.value)),1),d[14]||(d[14]=c("small",null,"训练轮次",-1))]),c("article",xo,[d[15]||(d[15]=c("span",null,"当前 Loss",-1)),c("strong",null,g(ue(F.value)),1),c("small",null,g(v.loss.length)+" 个采样点",1)]),c("article",Mo,[d[16]||(d[16]=c("span",null,"运行时长",-1)),c("strong",null,g(x.runtime?`${x.runtime}s`:((ot=t.value)==null?void 0:ot.train_duration)||"-"),1),d[17]||(d[17]=c("small",null,"任务累计运行时间",-1))])]),c("section",So,[c("div",wo,[c("div",null,[d[18]||(d[18]=c("h3",{id:"gpu-monitor-title"},"GPU 运行状态",-1)),c("p",null,g(j.value),1)])]),G.value.length?(B(),H("div",Ao,[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)),(B(!0),H(ke,null,vt(Y.value,k=>{var nt,it,st,lt,ut,ct,dt,pt;return B(),H("article",{key:k.index,class:"gpu-device-row",role:"row"},[c("div",Ro,[c("strong",null,"GPU "+g(k.index),1),c("span",{title:((nt=k.gpu)==null?void 0:nt.name)||"未检测到设备信息"},g(((it=k.gpu)==null?void 0:it.name)||"未检测到设备信息"),9,To)]),c("span",{class:ft(["gpu-status",_e(k.gpu).className]),role:"cell"},[d[19]||(d[19]=c("i",{"aria-hidden":"true"},null,-1)),A(" "+g(_e(k.gpu).label),1)],2),c("div",Io,[c("div",Lo,[d[20]||(d[20]=c("span",{class:"gpu-mobile-label"},"计算利用率",-1)),c("strong",null,g(X((st=k.gpu)==null?void 0:st.gpu_percent))+"%",1)]),_(E,{percentage:X((lt=k.gpu)==null?void 0:lt.gpu_percent),"show-text":!1,"stroke-width":6,color:aa((ut=k.gpu)==null?void 0:ut.gpu_percent),"aria-label":`GPU ${k.index} 计算利用率 ${X((ct=k.gpu)==null?void 0:ct.gpu_percent)}%`},null,8,["percentage","color","aria-label"])]),c("div",Do,[d[21]||(d[21]=c("span",{class:"gpu-mobile-label"},"显存占用",-1)),c("strong",null,g(qe(k.gpu))+"%",1),c("small",null,g(Le((dt=k.gpu)==null?void 0:dt.memory_used_gb))+" / "+g(Le((pt=k.gpu)==null?void 0:pt.memory_total_gb))+" GB",1)]),c("div",Co,[d[22]||(d[22]=c("span",{class:"gpu-mobile-label"},"温度",-1)),c("strong",null,g(k.gpu?`${k.gpu.temperature}°C`:"-"),1)]),c("div",ko,[d[23]||(d[23]=c("span",{class:"gpu-mobile-label"},"功耗",-1)),c("strong",null,g(k.gpu?`${Le(k.gpu.power_w)} W`:"-"),1)])])}),128))])):(B(),H("div",Po,"当前训练任务未配置 GPU")),G.value.length>xe?(B(),H("div",Eo,[c("span",Oo,g(w.value?`已展示全部 ${G.value.length} 张 GPU`:`已展示 4 张,另有 ${re.value} 张;异常和运行中设备优先`),1),_(K,{type:"primary",link:"",class:"gpu-toggle-button","aria-expanded":w.value,"aria-controls":"gpu-device-list",onClick:d[0]||(d[0]=k=>w.value=!w.value)},{default:b(()=>[A(g(w.value?"收起 GPU 列表":`展开全部 ${G.value.length} 张 GPU`),1)]),_:1},8,["aria-expanded"])])):Pe("",!0)])]}),_:1}),_(jr,{task:t.value,dataset:n.value,"base-model-name":y.value},null,8,["task","dataset","base-model-name"]),_(ie,{class:ft(["parameters-card",{"is-collapsed":!M.value}]),title:"训练参数",subtitle:"查看本次模型微调使用的基础参数和 LoRA 配置"},{extra:b(()=>[_(K,{type:"primary",link:"",class:"params-toggle-button","aria-expanded":M.value,"aria-controls":"training-parameter-content",onClick:d[1]||(d[1]=m=>M.value=!M.value)},{default:b(()=>[A(g(M.value?"收起参数":"展开参数"),1)]),_:1},8,["aria-expanded"])]),default:b(()=>[_($,null,{default:b(()=>[ht(c("div",Zo,[c("div",zo,[c("section",No,[_(ce,{class:"parameter-descriptions",column:2,border:""},{default:b(()=>[_(z,{label:"训练方式"},{default:b(()=>{var m;return[A(g((m=t.value)!=null&&m.train_type?q(He)[t.value.train_type]||t.value.train_type:"未配置"),1)]}),_:1}),_(z,{label:"训练方法"},{default:b(()=>{var m;return[A(g((m=t.value)!=null&&m.train_method?q(Ue)[t.value.train_method]||t.value.train_method:"未配置"),1)]}),_:1}),_(z,{label:"Batch Size"},{default:b(()=>{var m;return[A(g(((m=t.value)==null?void 0:m.batch_size)??"未配置"),1)]}),_:1}),_(z,{label:"Learning Rate"},{default:b(()=>{var m;return[A(g(((m=t.value)==null?void 0:m.learning_rate)??"未配置"),1)]}),_:1}),_(z,{label:"训练轮数"},{default:b(()=>{var m;return[A(g(((m=t.value)==null?void 0:m.n_epochs)??"未配置"),1)]}),_:1}),_(z,{label:"保存间隔"},{default:b(()=>{var m;return[A(g(((m=t.value)==null?void 0:m.save_steps)??"未配置"),1)]}),_:1}),_(z,{label:"学习率调度器"},{default:b(()=>{var m;return[A(g(((m=t.value)==null?void 0:m.lr_scheduler_type)||"未配置"),1)]}),_:1}),_(z,{label:"最大序列长度"},{default:b(()=>{var m;return[A(g(((m=t.value)==null?void 0:m.max_length)??"未配置"),1)]}),_:1}),_(z,{label:"权重衰减"},{default:b(()=>{var m;return[A(g(((m=t.value)==null?void 0:m.weight_decay)??"未配置"),1)]}),_:1})]),_:1})]),ia.value?(B(),H("section",Go,[c("div",Vo,[d[26]||(d[26]=c("h3",{id:"lora-params-title"},"LoRA 参数",-1)),_(De,{size:"small",type:"primary",effect:"plain"},{default:b(()=>[...d[25]||(d[25]=[A("LoRA",-1)])]),_:1})]),_(ce,{class:"parameter-descriptions",column:2,border:""},{default:b(()=>[_(z,{label:"LoRA Rank"},{default:b(()=>{var m;return[A(g(((m=t.value)==null?void 0:m.lora_rank)??"未配置"),1)]}),_:1}),_(z,{label:"LoRA Alpha"},{default:b(()=>{var m;return[A(g(((m=t.value)==null?void 0:m.lora_alpha)??"未配置"),1)]}),_:1}),_(z,{label:"LoRA Dropout"},{default:b(()=>{var m;return[A(g(((m=t.value)==null?void 0:m.lora_dropout)??"未配置"),1)]}),_:1})]),_:1})])):Pe("",!0)])],512),[[xa,M.value]])]),_:1})]),_:1},8,["class"]),_(ie,{class:"metrics-panel",title:"训练曲线",subtitle:"持续监控模型收敛情况与学习率变化"},{extra:b(()=>[...d[27]||(d[27]=[c("span",{class:"refresh-state"},"每 5 秒刷新",-1)])]),default:b(()=>[c("div",Bo,[c("section",$o,[c("div",Ho,[d[28]||(d[28]=c("span",{class:"chart-section-title"},"Loss",-1)),c("span",Uo,"最新 "+g(ue(F.value)),1)]),_(q(Oe),{class:"chart-canvas",option:R.value,autoresize:""},null,8,["option"])]),c("section",Fo,[c("div",Wo,[d[29]||(d[29]=c("span",{class:"chart-section-title"},"梯度范数",-1)),c("span",Yo,"最新 "+g(ue(N.value)),1)]),_(q(Oe),{class:"chart-canvas",option:P.value,autoresize:""},null,8,["option"])]),c("section",Xo,[c("div",Ko,[d[30]||(d[30]=c("span",{class:"chart-section-title"},"学习率",-1)),c("span",qo,"最新 "+g(ue(ee.value,!0)),1)]),_(q(Oe),{class:"chart-canvas",option:L.value,autoresize:""},null,8,["option"])])])]),_:1}),p.value.length?(B(),zt(ie,{key:0,class:"diagnostics-card",title:"失败诊断",subtitle:"根据训练日志和失败原因生成的排查建议"},{default:b(()=>[c("div",jo,[(B(!0),H(ke,null,vt(p.value,m=>(B(),H("article",{key:m.title,class:"diagnostics-item"},[c("strong",null,g(m.title),1),c("p",null,g(m.suggestion),1)]))),128))])]),_:1})):Pe("",!0),_(ie,{class:"log-card",title:"训练日志",subtitle:"查看训练任务的原始运行输出"},{extra:b(()=>[c("span",Jo,g(le.value)+" 行 · 每 5 秒刷新",1)]),default:b(()=>[c("pre",Qo,g(o.value||"暂无日志"),1)]),_:1})],64))])}}}),wn=Wt(en,[["__scopeId","data-v-b7edfd8d"]]);export{wn as default};