2026-07-21 12:36:33 +08:00
|
|
|
import{E as V}from"./index-BjEW7-SA.js";import{E as O}from"./index-BDEF353-.js";import{E as R}from"./el-table-D8K5zLyz.js";import{d as S,D as A,G as U,c as q,e as p,w as a,y as _,o as m,s as n,q as s,x as l,aa as u,f as v,aN as G,aO as w,aP as I,g as z,v as W,A as D}from"./index-BKKvzUDD.js";import{E as Y}from"./index-dNo5H1ie.js";/* empty css */import"./el-checkbox-qGZ2-RM2.js";import{D as $}from"./DataTablePage-C-EM-7-s.js";import{g as j,a as F,e as H,d as J,b as K}from"./model-gCK34aBo.js";import{_ as Q}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./el-scrollbar-ClJnvz-9.js";import"./index-GAnQrJsQ.js";import"./el-popper-D6_hxRbQ.js";import"./index-CWUnzf90.js";import"./_baseClone-B5RBzbh5.js";import"./_baseIteratee-BAilevJ_.js";import"./castArray-5uErZEc3.js";import"./debounce-ByXPNh5F.js";import"./toNumber-Dkj3QRv9.js";import"./raf-C-x62Pcl.js";import"./validator-Fn0bm4xU.js";import"./index-CQXVR1Ud.js";import"./clamp-CbbY8h6F.js";import"./index-DfyOU94W.js";import"./scroll-BkzZKETR.js";import"./index-TFUf94PZ.js";import"./index-DLzof2Fz.js";import"./omit-BTSq4AYh.js";import"./el-card-CApHJ1Gj.js";import"./el-pagination-DOPYW-qb.js";import"./el-select-Dl-FRZQd.js";import"./vnode-78qeDweP.js";import"./index-D5ryD3I5.js";import"./directive-DsZckUTJ.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 k=W(),d=_("config"),c=_(!1),C=_([]),h=_([]);async function M(){c.value=!0;try{C.value=await j()||[]}catch{}finally{c.value=!1}}async function b(){c.value=!0;try{const i=await F();h.value=(i==null?void 0:i.models)||[]}catch{}finally{c.value=!1}}function x(){d.value==="config"?M():b()}async function E(i){await J(i.id),D.success("删除成功")}async function T(i){await Y.confirm(`确定要删除模型 "${i.name}" 的权重文件吗?合并模型不受影响。`,"确认删除",{type:"warning"}),await K(i.name,"lora"),D.success("权重已删除"),b()}async function P(i){var t,o;await k.push({path:"/model-manage/merge",query:{model:i.name,method:((o=(t=i.train_methods)==null?void 0:t[0])==null?void 0:o.name)||"lora"}})}function L(i){window.open(H(i.name),"_blank")}function N(i){k.push(`/model-manage/${i.id}/edit`)}function B(){d.value==="config"&&k.push("/model-manage/create")}return A(d,()=>{x()}),U(x),(i,t)=>{const o=R,g=O,f=V;return m(),q("div",X,[d.value==="config"?(m(),p($,{key:0,title:"",data:C.value,loading:c.value,searchable:"","search-fields":["name","description"],"create-text":"添加模型",onCreate:B,"delete-fn":E,"row-key":"id",onRefresh:M},{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(()=>[l(u(v(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=v(w)[e.purpose])==null?void 0:r.type)||"info",size:"small"},{default:a(()=>{var y;return[l(u(((y=v(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})=>[l(u(v(I)[e.model_source]||e.model_source||"-"),1)]),_:1}),n(o,{label:"描述",align:"center","show-overflow-tooltip":""},{default:a(({row:e})=>[l(u(e.description||"-"),1)]),_:1}),n(o,{label:"创建时间",align:"center",width:"180"},{default:a(({row:e})=>[l(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),l("编辑 ",-1)])]),_:1},8,["onClick"]),n(f,{type:"da
|