import{k as Q,b as W,d as J,a as X,o as v,e as P,w as i,h as K,g as L,c as F,n as z,f as b,aa as c,x as p,Y as Z,j as k,y as x,am as ee,l as te,ap as ae,aq as j,ar as oe,G as ie,q as s,s as r,ad as H,M as q,as as re,A as G,v as le}from"./index-qX-n478y.js";import{E as ne}from"./index-CsmH9aOV.js";import{a as se,E as pe}from"./el-checkbox-BKpzF1Ga.js";import{E as ue}from"./el-table-VTeqsGxS.js";import{u as m,b as D,E as de}from"./el-popper-ByY_mp0F.js";import{d as R}from"./dropdown-BtNFvxb2.js";/* empty css */import"./el-tag-B-JGJj9z.js";import{D as fe}from"./DataTablePage-D6gKJ6Bb.js";import{_ as ce}from"./ModelStatusTag.vue_vue_type_script_setup_true_lang-DKxvJUDv.js";import{u as me}from"./usePolling-CwVe8Oxw.js";import{u as ve}from"./models-CdGo0KiK.js";import{g as ge,a as be,b as he,s as ye,d as we}from"./fineTune-DRk-d8CQ.js";import{_ as ke}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./raf-D_6iDDv9.js";import"./index-Bv5P4D1b.js";import"./omit-D5jdppCn.js";import"./_baseClone-DGWZyacP.js";import"./el-scrollbar-BUMM2_CD.js";import"./_baseIteratee-CFLbixU9.js";import"./castArray-Bn5hpKcW.js";import"./debounce-CNr3KETr.js";import"./toNumber-rF0S7Wk6.js";import"./index-BBjNlxJ5.js";import"./index-BeDLK02H.js";import"./index-L-nYG2YU.js";import"./el-card-BsyGJwSB.js";import"./el-pagination-TZDjdbvR.js";import"./el-select-BtaHFwbP.js";import"./vnode-uhNuJ02f.js";import"./index-hE4aZesL.js";import"./scroll-Bw8Zs_VJ.js";import"./clamp-Cu8yiuNv.js";import"./directive-DkeRfr12.js";import"./index-CJgcIOWx.js";import"./validator-BMOGd-d6.js";import"./index-0gws1BPv.js";import"./index-GQDpTbnB.js";import"./el-tooltip-l0sNRNKZ.js";import"./status-Dl1fykxa.js";import"./model-C-yfMU_m.js";const Te=W({trigger:D.trigger,triggerKeys:D.triggerKeys,placement:R.placement,disabled:D.disabled,visible:m.visible,transition:m.transition,popperOptions:R.popperOptions,tabindex:R.tabindex,content:m.content,popperStyle:m.popperStyle,popperClass:m.popperClass,enterable:{...m.enterable,default:!0},effect:{...m.effect,default:"light"},teleported:m.teleported,appendTo:m.appendTo,title:String,width:{type:[String,Number],default:150},offset:{type:Number,default:void 0},showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0},showArrow:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},"onUpdate:visible":{type:Function}}),_e={"update:visible":t=>Q(t),"before-enter":()=>!0,"before-leave":()=>!0,"after-enter":()=>!0,"after-leave":()=>!0},Ce="onUpdate:visible";var Ee=J({name:"ElPopover",__name:"popover",props:Te,emits:_e,setup(t,{expose:f,emit:g}){const n=t,u=g,T=k(()=>n[Ce]),h=X("popover"),_=x(),l=k(()=>{var o;return(o=b(_))==null?void 0:o.popperRef}),V=k(()=>[{width:ee(n.width)},n.popperStyle]),y=k(()=>[h.b(),n.popperClass,{[h.m("plain")]:!!n.content}]),M=k(()=>n.transition===`${h.namespace.value}-fade-in-linear`),N=()=>{var o;(o=_.value)==null||o.hide()},S=()=>{u("before-enter")},A=()=>{u("before-leave")},$=()=>{u("after-enter")},B=()=>{u("update:visible",!1),u("after-leave")};return f({popperRef:l,hide:N}),(o,e)=>(v(),P(b(de),Z({ref_key:"tooltipRef",ref:_},o.$attrs,{trigger:t.trigger,"trigger-keys":t.triggerKeys,placement:t.placement,disabled:t.disabled,visible:t.visible,transition:t.transition,"popper-options":t.popperOptions,tabindex:t.tabindex,content:t.content,offset:t.offset,"show-after":t.showAfter,"hide-after":t.hideAfter,"auto-close":t.autoClose,"show-arrow":t.showArrow,"aria-label":t.title,effect:t.effect,enterable:t.enterable,"popper-class":y.value,"popper-style":V.value,teleported:t.teleported,"append-to":t.appendTo,persistent:t.persistent,"gpu-acceleration":M.value,"onUpdate:visible":T.value,onBeforeShow:S,onBeforeHide:A,onShow:$,onHide:B}),{content:i(()=>[t.title?(v(),F("div",{key:0,class:z(b(h).e("title")),role:"title"},c(t.title),3)):L("v-if",!0),K(o.$slots,"default",{hide:N},()=>[p(c(t.content),1)])]),default:i(()=>[o.$slots.reference?K(o.$slots,"reference",{key:0}):L("v-if",!0)]),_:3},16,["trigger","trigger-keys","placement","disabled","visible","transition","popper-options","tabindex","content","offset","show-after","hide-after","auto-close","show-arrow","aria-label","effect","enterable","popper-class","popper-style","teleported","append-to","persistent","gpu-acceleration","onUpdate:visible"]))}}),Pe=Ee;const Y=(t,f)=>{var n;const g=(n=f.arg||f.value)==null?void 0:n.popperRef;g&&(g.triggerRef=t)};var xe={mounted(t,f){Y(t,f)},updated(t,f){Y(t,f)}};const Me="popover",Ne=ae(xe,Me),Ve=te(Pe,{directive:Ne}),Se={class:"filter-header"},Ae={class:"filter-actions"},$e={class:"filter-header"},Be={class:"filter-actions"},De={class:"progress-value"},Re={class:"action-buttons"},Le=J({__name:"FineTuneListView",setup(t){const f=le(),g=ve(),n=x(!1),u=x([]),T=x({}),h=Object.entries(j).map(([o,e])=>({value:o,label:e})),_=Object.entries(oe).map(([o,e])=>({value:o,label:e})),l=x({trainType:[],trainMethod:[]}),V=k(()=>u.value.filter(o=>!(l.value.trainType.length&&!l.value.trainType.includes(o.train_type)||l.value.trainMethod.length&&(!o.train_method||!l.value.trainMethod.includes(o.train_method)))));async function y(){n.value=!0;try{u.value=await ge()||[]}catch{}finally{n.value=!1}}async function M(){const o=u.value.filter(e=>e.status==="running"||e.status==="pending");for(const e of o)try{const[d,w]=await Promise.all([be(e.id),he(e.id)]);T.value[e.id]=d,w.status&&w.status!==e.status&&(e.status=w.status)}catch{}}async function N(o){await we(o.id),u.value=u.value.filter(e=>e.id!==o.id),delete T.value[o.id],await y(),G.success("删除成功")}async function S(o){await ye(o.id),G.success("训练任务已停止"),y()}function A(o){f.push(`/training-log/${o.id}`)}function $(o){return o?new Date(o).toLocaleString("zh-CN",{hour12:!1}):"-"}const{start:B}=me(M,5e3,{immediate:!1});return ie(async()=>{g.load(),await y(),await M(),B()}),(o,e)=>{const d=ue,w=re,O=pe,U=se,C=ne,I=Ve;return v(),P(fe,{title:"模型微调",data:V.value,loading:n.value,searchable:"","search-fields":["name"],"create-text":"创建训练任务","create-to":"/fine-tune/create","row-key":"id","page-size":10,onRefresh:y},{columns:i(()=>[r(d,{label:"任务ID",prop:"id",align:"center",width:"100"}),r(d,{label:"任务名称",prop:"name",align:"center",width:"180","show-overflow-tooltip":""}),r(d,{label:"任务状态",align:"center",width:"110"},{default:i(({row:a})=>[r(ce,{status:a.status},null,8,["status"])]),_:1}),r(d,{align:"center",width:"140"},{header:i(()=>[s("div",Se,[e[5]||(e[5]=s("span",null,"训练方式",-1)),r(I,{trigger:"click",placement:"bottom",width:160},{reference:i(()=>[r(w,{"is-dot":l.value.trainType.length>0,class:"filter-badge"},{default:i(()=>[s("i",{class:z(["fa fa-filter filter-icon",{active:l.value.trainType.length>0}])},null,2)]),_:1},8,["is-dot"])]),default:i(()=>[r(U,{modelValue:l.value.trainType,"onUpdate:modelValue":e[0]||(e[0]=a=>l.value.trainType=a),class:"filter-options"},{default:i(()=>[(v(!0),F(q,null,H(b(h),a=>(v(),P(O,{key:a.value,value:a.value},{default:i(()=>[p(c(a.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),s("div",Ae,[r(C,{size:"small",link:"",onClick:e[1]||(e[1]=a=>l.value.trainType=[])},{default:i(()=>[...e[4]||(e[4]=[p("清除",-1)])]),_:1})])]),_:1})])]),default:i(({row:a})=>[p(c(b(j)[a.train_type]||"-"),1)]),_:1}),r(d,{align:"center",width:"120"},{header:i(()=>[s("div",$e,[e[7]||(e[7]=s("span",null,"训练方法",-1)),r(I,{trigger:"click",placement:"bottom",width:160},{reference:i(()=>[r(w,{"is-dot":l.value.trainMethod.length>0,class:"filter-badge"},{default:i(()=>[s("i",{class:z(["fa fa-filter filter-icon",{active:l.value.trainMethod.length>0}])},null,2)]),_:1},8,["is-dot"])]),default:i(()=>[r(U,{modelValue:l.value.trainMethod,"onUpdate:modelValue":e[2]||(e[2]=a=>l.value.trainMethod=a),class:"filter-options"},{default:i(()=>[(v(!0),F(q,null,H(b(_),a=>(v(),P(O,{key:a.value,value:a.value},{default:i(()=>[p(c(a.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),s("div",Be,[r(C,{size:"small",link:"",onClick:e[3]||(e[3]=a=>l.value.trainMethod=[])},{default:i(()=>[...e[6]||(e[6]=[p("清除",-1)])]),_:1})])]),_:1})])]),default:i(({row:a})=>[p(c(a.train_method||"-"),1)]),_:1}),r(d,{label:"基座模型",align:"center",width:"190","show-overflow-tooltip":""},{default:i(({row:a})=>[p(c(b(g).getModelName(a.base_model)),1)]),_:1}),r(d,{label:"训练开始时间",align:"center",width:"190"},{default:i(({row:a})=>[p(c($(a.create_time)),1)]),_:1}),r(d,{label:"训练时长",align:"center",width:"130"},{default:i(({row:a})=>[p(c(a.train_duration||"-"),1)]),_:1}),r(d,{label:"进度",align:"center",width:"140"},{default:i(({row:a})=>{var E;return[s("span",De,c(((E=T.value[a.id])==null?void 0:E.progress)??a.progress??0)+"% ",1)]}),_:1})]),actions:i(({row:a})=>[s("div",Re,[a.status==="running"?(v(),P(C,{key:0,type:"warning",link:"",size:"small",onClick:E=>S(a)},{default:i(()=>[...e[8]||(e[8]=[s("i",{class:"fa fa-stop-circle-o",style:{"margin-right":"4px"}},null,-1),p(" 停止 ",-1)])]),_:1},8,["onClick"])):L("",!0),r(C,{type:"primary",link:"",size:"small",onClick:E=>A(a)},{default:i(()=>[...e[9]||(e[9]=[s("i",{class:"fa fa-file-text-o",style:{"margin-right":"4px"}},null,-1),p(" 日志 ",-1)])]),_:1},8,["onClick"]),r(C,{type:"danger",link:"",size:"small",onClick:E=>N(a)},{default:i(()=>[...e[10]||(e[10]=[s("i",{class:"fa fa-trash-o",style:{"margin-right":"4px"}},null,-1),p(" 删除 ",-1)])]),_:1},8,["onClick"])])]),_:1},8,["data","loading"])}}}),Et=ke(Le,[["__scopeId","data-v-4ab0bbc0"]]);export{Et as default};