2 lines
6.5 KiB
JavaScript
2 lines
6.5 KiB
JavaScript
import{E as V}from"./index-D88lUnba.js";import{E as O}from"./index-DiBcb3b0.js";import{E as R}from"./el-table-Bt-xsuMz.js";import{d as S,D as A,G as U,c as q,e as p,w as a,y as k,o as m,s as n,q as s,x as i,aa as u,f as b,aN as G,aO as w,aP as I,g as z,v as W,A as D}from"./index-Cqlj7vcl.js";import{E as Y}from"./index-D9eFL0tZ.js";/* empty css */import"./el-checkbox-Skbm2yST.js";import{D as $}from"./DataTablePage-BQemcxoi.js";import{g as j,a as F,e as H,d as J,b as K}from"./model-CWW1Wczf.js";import{_ as Q}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./el-scrollbar-Ouf4QXxU.js";import"./index-BoTiWnu7.js";import"./el-popper-BiOcgWnR.js";import"./index-CcvEzrx9.js";import"./_baseClone-CXWVM9KD.js";import"./_baseIteratee-BLZ5vHSI.js";import"./castArray-EioEbuNM.js";import"./debounce-De-xXXEq.js";import"./toNumber-DUmW2q0M.js";import"./raf-q_fay9c6.js";import"./validator-BEjBlCgE.js";import"./index-D4Q0qoMq.js";import"./clamp-Q0qVCgXV.js";import"./index-BLAj6_BJ.js";import"./scroll-l-f8IXFz.js";import"./index-DwX5DKZI.js";import"./index-CVnqIkly.js";import"./omit-cmH8l6ot.js";import"./el-card-BgI0tZGy.js";import"./el-pagination-CDKFvDXJ.js";import"./el-select-CaOrtd8T.js";import"./vnode-CbkaLjR-.js";import"./index-BzQ5uZ5s.js";import"./directive-De56YgNS.js";import"./el-tooltip-l0sNRNKZ.js";const X={class:"model-manage-page",style:{height:"100%"}},Z={class:"capsule-tabs"},ee={class:"capsule-tabs"},te={class:"action-buttons"},ae=S({__name:"ModelManageView",setup(le){const C=W(),d=k("config"),c=k(!1),_=k([]),v=k([]);async function h(){c.value=!0;try{_.value=await j()||[]}catch{}finally{c.value=!1}}async function M(){c.value=!0;try{const l=await F();v.value=(l==null?void 0:l.models)||[]}catch{}finally{c.value=!1}}function x(){d.value==="config"?h():M()}async function E(l){await J(l.id),_.value=_.value.filter(t=>t.id!==l.id),await h(),D.success("删除成功")}async function T(l){await Y.confirm(`确定要删除模型 "${l.name}" 的权重文件吗?合并模型不受影响。`,"确认删除",{type:"warning"}),await K(l.name,"lora"),v.value=v.value.filter(t=>t.name!==l.name&&t.id!==l.id),await M(),D.success("权重已删除")}async function P(l){var t,o;await C.push({path:"/model-manage/merge",query:{model:l.name,method:((o=(t=l.train_methods)==null?void 0:t[0])==null?void 0:o.name)||"lora"}})}function L(l){window.open(H(l.name),"_blank")}function N(l){C.push(`/model-manage/${l.id}/edit`)}function B(){d.value==="config"&&C.push("/model-manage/create")}return A(d,()=>{x()}),U(x),(l,t)=>{const o=R,g=O,f=V;return m(),q("div",X,[d.value==="config"?(m(),p($,{key:0,title:"",data:_.value,loading:c.value,searchable:"","search-fields":["name","description"],"create-text":"添加模型",onCreate:B,"delete-fn":E,"row-key":"id",onRefresh:h},{title:a(()=>[s("div",Z,[s("button",{class:"capsule-tab-item active",onClick:t[0]||(t[0]=e=>d.value="config")},"配置模型"),s("button",{class:"capsule-tab-item",onClick:t[1]||(t[1]=e=>d.value="trained")},"训练模型")])]),columns:a(()=>[n(o,{label:"模型名称",prop:"name",align:"center"}),n(o,{label:"模型类型",align:"center",width:"140"},{default:a(({row:e})=>[n(g,{type:"primary",size:"small"},{default:a(()=>[i(u(b(G)[e.type]||e.type||"-"),1)]),_:2},1024)]),_:1}),n(o,{label:"用途",align:"center",width:"100"},{default:a(({row:e})=>{var r;return[n(g,{type:((r=b(w)[e.purpose])==null?void 0:r.type)||"info",size:"small"},{default:a(()=>{var y;return[i(u(((y=b(w)[e.purpose])==null?void 0:y.text)||e.purpose||"-"),1)]}),_:2},1032,["type"])]}),_:1}),n(o,{label:"模型来源",align:"center",width:"110"},{default:a(({row:e})=>[i(u(b(I)[e.model_source]||e.model_source||"-"),1)]),_:1}),n(o,{label:"描述",align:"center","show-overflow-tooltip":""},{default:a(({row:e})=>[i(u(e.description||"-"),1)]),_:1}),n(o,{label:"创建时间",align:"center",width:"180"},{default:a(({row:e})=>[i(u(e.create_time?new Date(e.create_time).toLocaleString("zh-CN"):"-"),1)]),_:1})]),actions:a(({row:e})=>[n(f,{type:"primary",link:"",size:"small",onClick:r=>N(e)},{default:a(()=>[...t[4]||(t[4]=[s("i",{class:"fa fa-edit",style:{"margin-right":"4px"}},null,-1),i("编辑 ",-1)])]),_:1},8,["onClick"]),n(f,{type:"danger",link:"",size:"small",onClick:r=>E(e)},{default:a(()=>[...t[5]||(t[5]=[s("i",{class:"fa fa-trash-o",style:{"margin-right":"4px"}},null,-1),i("删除 ",-1)])]),_:1},8,["onClick"])]),_:1},8,["data","loading"])):(m(),p($,{key:1,title:"",data:v.value,loading:c.value,searchable:"","search-fields":["name"],"row-key":"name",onRefresh:M},{title:a(()=>[s("div",ee,[s("button",{class:"capsule-tab-item",onClick:t[2]||(t[2]=e=>d.value="config")},"配置模型"),s("button",{class:"capsule-tab-item active",onClick:t[3]||(t[3]=e=>d.value="trained")},"训练模型")])]),columns:a(()=>[n(o,{label:"模型名称",prop:"name",align:"center"}),n(o,{label:"训练方法",align:"center"},{default:a(({row:e})=>{var r,y;return[i(u(((y=(r=e.train_methods)==null?void 0:r[0])==null?void 0:y.name)||"-"),1)]}),_:1}),n(o,{label:"基座模型",align:"center","show-overflow-tooltip":""},{default:a(({row:e})=>[i(u(e.base_model_path||"-"),1)]),_:1}),n(o,{label:"合并状态",align:"center",width:"110"},{default:a(({row:e})=>[e.merging?(m(),p(g,{key:0,type:"warning",size:"small"},{default:a(()=>[...t[6]||(t[6]=[i("合并中",-1)])]),_:1})):e.merged?(m(),p(g,{key:1,type:"success",size:"small"},{default:a(()=>[...t[7]||(t[7]=[i("已合并",-1)])]),_:1})):(m(),p(g,{key:2,type:"info",size:"small"},{default:a(()=>[...t[8]||(t[8]=[i("未合并",-1)])]),_:1}))]),_:1}),n(o,{label:"创建时间",align:"center",width:"180"},{default:a(({row:e})=>[i(u(e.create_time?new Date(e.create_time).toLocaleString("zh-CN"):"-"),1)]),_:1})]),actions:a(({row:e})=>[s("div",te,[!e.merged&&!e.merging?(m(),p(f,{key:0,type:"primary",link:"",size:"small",onClick:r=>P(e)},{default:a(()=>[...t[9]||(t[9]=[s("i",{class:"fa fa-code-fork",style:{"margin-right":"4px"}},null,-1),i("合并权重 ",-1)])]),_:1},8,["onClick"])):e.merging?(m(),p(f,{key:1,type:"info",link:"",size:"small",loading:!0,disabled:""},{default:a(()=>[...t[10]||(t[10]=[i(" 合并中 ",-1)])]),_:1})):z("",!0),n(f,{type:"warning",link:"",size:"small",onClick:r=>T(e)},{default:a(()=>[...t[11]||(t[11]=[s("i",{class:"fa fa-eraser",style:{"margin-right":"4px"}},null,-1),i("删除权重 ",-1)])]),_:1},8,["onClick"]),e.merged?(m(),p(f,{key:2,type:"success",link:"",size:"small",onClick:r=>L(e)},{default:a(()=>[...t[12]||(t[12]=[s("i",{class:"fa fa-download",style:{"margin-right":"4px"}},null,-1),i("导出 ",-1)])]),_:1},8,["onClick"])):z("",!0)])]),_:1},8,["data","loading"]))])}}}),Ae=Q(ae,[["__scopeId","data-v-f0c58d46"]]);export{Ae as default};
|