1 line
1.8 KiB
JavaScript
1 line
1.8 KiB
JavaScript
import{t as e}from"./VDataTable-pRRodit6.js";import{Ar as t,Er as n,L as r,Nr as i,b as a,jr as o,qr as s,ri as c,ui as l,xi as u}from"./index-a0fi5f-0.js";import{_ as d,p as f,v as p}from"./btpanel-BsL25ffd.js";import{n as m,t as h}from"./useBtPanelPageLoad-CV_unS2-.js";var g=i({name:`BtPanelSitesPage`,__name:`BtPanelSitesPage`,setup(i){let g=l(!1),_=l([]),v=[{title:`ID`,key:`id`,width:70},{title:`域名`,key:`name`},{title:`路径`,key:`path`},{title:`备注`,key:`ps`},{title:`状态`,key:`status`,width:90},{title:`操作`,key:`actions`,sortable:!1,width:100}],{run:y,serverId:b}=h(async e=>{g.value=!0;try{_.value=(await f(e)).data??[]}catch(e){window.$snackbar?.(e instanceof Error?e.message:`加载失败`,`error`)}finally{g.value=!1}});async function x(e,t){let n=b.value;if(n){g.value=!0;try{t?await d(n,e.id,e.name):await p(n,e.id,e.name),window.$snackbar?.(t?`已启用`:`已停用`,`success`),await y()}catch(e){window.$snackbar?.(e instanceof Error?e.message:`操作失败`,`error`)}finally{g.value=!1}}}return(i,l)=>(s(),n(m,{title:`宝塔 · 网站列表`,subtitle:`站点列表与启停(C1 / C6)`},{default:c(()=>[o(e,{headers:v,items:_.value,loading:g.value,density:`compact`,"item-value":`id`},{"item.status":c(({item:e})=>[o(a,{size:`x-small`,color:e.status===`1`?`success`:`warning`,variant:`tonal`},{default:c(()=>[t(u(e.status===`1`?`运行`:`停用`),1)]),_:2},1032,[`color`])]),"item.actions":c(({item:e})=>[e.status===`1`?(s(),n(r,{key:1,size:`x-small`,variant:`text`,color:`warning`,onClick:t=>x(e,!1)},{default:c(()=>[...l[1]||=[t(`停用`,-1)]]),_:1},8,[`onClick`])):(s(),n(r,{key:0,size:`x-small`,variant:`text`,color:`success`,onClick:t=>x(e,!0)},{default:c(()=>[...l[0]||=[t(`启用`,-1)]]),_:1},8,[`onClick`]))]),_:1},8,[`items`,`loading`])]),_:1}))}});export{g as default}; |