Files
Nexus/web/app/assets/ScriptsPage-D-_6vJ95.js
T
2026-06-08 07:27:46 +08:00

4 lines
35 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{n as e,t}from"./initMonaco-BTs4oeAV.js";import{a as n,x as r}from"./VDataTable-B0-95xTn.js";import{_ as i,t as a,v as o}from"./VSelect-CTQFqPGK.js";import{n as s,t as c}from"./VRow-GEA7G0tR.js";import{$r as l,A as u,B as d,Bt as ee,Cr as f,Dr as p,F as m,Gt as te,H as h,Ht as ne,Ir as g,It as re,J as ie,Lr as ae,N as _,Nr as oe,P as v,Pr as se,Q as y,Qr as ce,R as b,Rt as le,Sr as ue,T as de,Tr as fe,Ur as x,Ut as pe,Vt as me,Wt as he,Yr as S,Z as ge,Zr as _e,Zt as C,_r as ve,ar as ye,br as be,dr as w,fr as T,gr as E,hr as D,ir as xe,kr as O,kt as Se,lr as k,lt as Ce,or as we,ot as Te,pr as A,pt as Ee,sr as j,t as De,tn as Oe,ur as M,ut as N,v as ke,xr as Ae,z as P,zt as je}from"./index-ClemoL2X.js";import{n as Me,t as Ne}from"./dataTable-esDY4cOk.js";import{t as Pe}from"./VCheckbox-CtB4_K-I.js";import{t as Fe}from"./VDataTableServer-C96cVg_A.js";import{t as F}from"./apiError-BmRiVE-x.js";import{t as Ie}from"./useServerList-6ibxoaYy.js";import{s as Le}from"./labels-CzOhyWto.js";import{t as Re}from"./paginatedFetch-BcTESG-_.js";import{i as ze}from"./validation-DMwOxx4a.js";import{t as Be}from"./VDialog-DYJHKi8n.js";import{t as Ve}from"./VTextarea-D4lKriwk.js";import{t as I}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as He}from"./VSwitch-N_6ZZOy2.js";import{n as Ue,t as We}from"./execDetailGrouping-CkpsDXoP.js";import{i as Ge,n as Ke,r as qe,t as Je}from"./VExpansionPanels-upOh5ouw.js";import{t as L}from"./useServerCategories-DwpZu9Kb.js";var Ye=I(ve({__name:`ScriptContentEditor`,props:{modelValue:{},readonly:{type:Boolean}},emits:[`update:modelValue`],setup(n,{emit:r}){let i=n,a=r,o=e(),s=x(),c=null,l=!1;function u(){s.value&&(c?.dispose(),c=o.editor.create(s.value,{...t({language:`shell`,readOnly:i.readonly??!1}),value:i.modelValue||``}),c.onDidChangeModelContent(()=>{l||!c||a(`update:modelValue`,c.getValue())}))}return se(()=>i.modelValue,e=>{c&&c.getValue()!==e&&(l=!0,c.setValue(e||``),l=!1)}),se(()=>i.readonly,e=>{c?.updateOptions({readOnly:e??!1})}),fe(()=>{u()}),f(()=>{c?.dispose(),c=null}),(e,t)=>(p(),A(`div`,{ref_key:`host`,ref:s,class:`script-content-editor`},null,512))}}),[[`__scopeId`,`data-v-8c9e5994`]]),Xe={class:`server-category-picker`},Ze={class:`d-flex align-center flex-wrap ga-2 mb-2`},Qe={key:0,class:`text-center text-medium-emphasis py-4`},R={class:`d-flex align-center px-1 mb-1`},$e={class:`text-caption text-medium-emphasis ml-1`},et={class:`d-flex align-center ga-2`},z={class:`text-body-2 font-weight-medium text-truncate`},B={class:`text-caption text-medium-emphasis text-truncate`},tt=I(ve({__name:`ServerCategoryPicker`,props:be({servers:{},loading:{type:Boolean,default:!1},maxHeight:{default:`280px`}},{modelValue:{default:()=>[]},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=oe(e,`modelValue`),n=e,r=x(``),i=k(()=>new Set(t.value)),a=k(()=>{let e=r.value.trim().toLowerCase();return e?n.servers.filter(t=>t.name.toLowerCase().includes(e)||(t.domain||``).toLowerCase().includes(e)||(t.category||``).toLowerCase().includes(e)):n.servers}),o=k(()=>{let e={};for(let t of a.value){let n=t.category?.trim()||`uncategorized`;e[n]||(e[n]=[]),e[n].push(t)}return Object.entries(e).map(([e,t])=>({category:e,label:L(e),servers:[...t].sort((e,t)=>e.name.localeCompare(t.name,`zh`))})).sort((e,t)=>e.category===`uncategorized`?1:t.category===`uncategorized`?-1:e.label.localeCompare(t.label,`zh`))}),u=k(()=>{let e=a.value;return e.length>0&&e.every(e=>i.value.has(e.id))});function d(e){return e.servers.filter(e=>i.value.has(e.id)).length}function ee(e){let t=o.value.find(t=>t.category===e);return!t||t.servers.length===0?!1:t.servers.every(e=>i.value.has(e.id))}function f(e){t.value=[...e]}function te(e){let n=new Set(t.value);n.has(e)?n.delete(e):n.add(e),f(n)}function h(e){let n=o.value.find(t=>t.category===e);if(!n)return;let r=new Set(t.value),i=n.servers.every(e=>r.has(e.id));for(let e of n.servers)i?r.delete(e.id):r.add(e.id);f(r)}function ne(){let e=a.value,n=new Set(t.value),r=e.length>0&&e.every(e=>n.has(e.id));for(let t of e)r?n.delete(t.id):n.add(t.id);f(n)}return(n,a)=>(p(),A(`div`,Xe,[M(`div`,Ze,[E(Pe,{"model-value":u.value,label:`全选`,density:`compact`,"hide-details":``,"onUpdate:modelValue":ne},null,8,[`model-value`]),E(De,{modelValue:r.value,"onUpdate:modelValue":a[0]||=e=>r.value=e,"prepend-inner-icon":`mdi-magnify`,label:`搜索服务器`,density:`compact`,"hide-details":``,variant:`outlined`,rounded:``,style:{"max-width":`220px`},clearable:``},null,8,[`modelValue`]),t.value.length>0?(p(),w(m,{key:0,size:`small`,color:`primary`,variant:`tonal`,label:``},{default:g(()=>[D(` 已选 `+l(t.value.length)+` 台 `,1)]),_:1})):T(``,!0),e.loading?(p(),w(Ce,{key:1,indeterminate:``,size:`18`,width:`2`})):T(``,!0)]),M(`div`,{class:`picker-scroll`,style:ce({maxHeight:e.maxHeight})},[!e.loading&&o.value.length===0?(p(),A(`div`,Qe,` 暂无服务器 `)):T(``,!0),(p(!0),A(j,null,O(o.value,e=>(p(),A(`div`,{key:e.category,class:`mb-3`},[M(`div`,R,[E(y,{size:`x-small`,variant:`text`,color:ee(e.category)?`primary`:`default`,onClick:t=>h(e.category)},{default:g(()=>[E(N,{size:`16`,class:`mr-1`},{default:g(()=>[D(l(ee(e.category)?`mdi-checkbox-marked`:`mdi-checkbox-blank-outline`),1)]),_:2},1024),D(` `+l(e.label),1)]),_:2},1032,[`color`,`onClick`]),M(`span`,$e,` (`+l(d(e))+`/`+l(e.servers.length)+`) `,1)]),E(c,{dense:``},{default:g(()=>[(p(!0),A(j,null,O(e.servers,e=>(p(),w(s,{key:e.id,cols:`12`,sm:`6`},{default:g(()=>[E(b,{color:i.value.has(e.id)?`primary`:void 0,variant:i.value.has(e.id)?`tonal`:`outlined`,rounded:`lg`,class:`pa-2 cursor-pointer`,onClick:t=>te(e.id)},{default:g(()=>[M(`div`,et,[E(N,{color:S(Le)(e.is_online),size:`10`},{default:g(()=>[...a[1]||=[D(`mdi-circle`,-1)]]),_:1},8,[`color`]),M(`span`,z,l(e.name),1)]),M(`div`,B,l(e.domain),1)]),_:2},1032,[`color`,`variant`,`onClick`])]),_:2},1024))),128))]),_:2},1024)]))),128))],4)]))}}),[[`__scopeId`,`data-v-4d1df917`]]),nt={class:`text-body-1 font-weight-medium`},rt={class:`text-body-2 text-medium-emphasis`},it={class:`text-caption text-medium-emphasis mt-2`},at={key:3,class:`d-flex justify-center mt-4`},ot={class:`text-caption`},st={key:2,class:`text-center text-medium-emphasis py-6`},ct={class:`text-body-2`},lt={class:`text-caption text-medium-emphasis`},ut={class:`d-flex align-center flex-wrap ga-1`},dt={class:`text-caption text-medium-emphasis mb-2`},ft={class:`text-body-2 mb-3 pa-3 rounded bg-surface-variant overflow-auto`,style:{"max-height":`100px`}},pt={key:0,class:`d-flex flex-wrap ga-2 mb-3`},mt={class:`text-body-2`},ht={class:`d-flex align-center flex-wrap ga-2 mb-3`},gt=[`onClick`],_t={class:`font-weight-medium`},vt={key:0,class:`text-caption text-medium-emphasis`},yt=[`title`],bt={key:0},xt={class:`d-flex align-center ga-2 flex-grow-1 min-width-0`},St=[`title`],Ct=[`onClick`],wt={class:`font-weight-medium`},Tt={key:0,class:`text-caption text-medium-emphasis`},Et={class:`text-error font-weight-medium`},Dt={key:4,class:`text-center text-medium-emphasis py-4`},Ot={class:`d-flex align-center flex-wrap ga-2 mb-2`},kt={class:`text-subtitle-2`},At={key:0,class:`text-medium-emphasis`},jt={class:`text-body-2 overflow-auto exec-detail-output`},V=I(ve({__name:`ScriptsPage`,setup(e){let t=[...Ne],f=i(),oe=Oe(),{servers:ce,loading:ve,loadServers:be}=Ie(),Ce=[{label:`运维`,value:`ops`},{label:`部署`,value:`deploy`},{label:`检查`,value:`check`},{label:`清理`,value:`cleanup`}],Pe=x(!1),Le=x(``),I=x([]),L=x(null),Xe=x([]),Ze=x(1),Qe=x(20),R=x(!1),$e=x(null),et=x(!1),z=x({name:``,category:`ops`,description:``,content:``}),B=x(!1),V=x(null),H=x([]),Mt=x(300),Nt=x(!1),Pt=x(null),Ft=x(!1),It=x(!1),Lt=x(null),Rt=x(null),zt=x([]),Bt=x(!1),Vt=x([]),Ht=x(0),U=x(1),Ut=x(20),Wt=x(!1),W=x(null),Gt=x(!1),Kt=x(``),G=x([]),qt=x(60),Jt=x(!1),Yt=x(null),Xt=x(!1),Zt=x(!1),K=x(null),Qt=x(!1),$t=x(null),q=x(`all`),en=x(`list`),J=x(null),tn=x([]),nn=k(()=>Xe.value.map(e=>({title:e.name,value:e.id}))),rn=k(()=>{let e=Le.value.trim().toLowerCase();return e?I.value.filter(t=>t.name.toLowerCase().includes(e)||(t.category||``).toLowerCase().includes(e)||(t.description||``).toLowerCase().includes(e)):I.value}),an=k(()=>rn.value.length),on=k(()=>{let e=(Ze.value-1)*Qe.value;return rn.value.slice(e,e+Qe.value)});se(Le,()=>{Ze.value=1});let sn=Me([{title:`ID`,key:`id`,width:72},{title:`脚本/命令`,key:`label`},{title:`状态`,key:`status`,width:100},{title:`进度`,key:`progress`,width:88},{title:`台数`,key:`server_count`,width:72},{title:`操作人`,key:`operator`,width:88},{title:`开始时间`,key:`started_at`,width:168},{title:`操作`,key:`actions`,width:180}]),cn=k(()=>W.value?I.value.find(e=>e.id===W.value)?.name||`脚本 #${W.value}`:``),ln={started:`开始`,batch_progress:`批次进度`,execution_finished:`结束`,stopped:`停止`,retry_requested:`重试`,stuck_marked:`标记卡住`,server_auto_stuck:`子机超时`,auto_stuck:`自动卡住`,job_completed:`回调完成`},un=k(()=>new Map(ce.value.map(e=>[e.id,e])));function dn(e){let t=(e.stderr||``).trim(),n=(e.stdout||``).trim(),r=(e.message||``).trim(),i=t||n||r||`—`;return{summary:(t||r||n||``).slice(0,200)||`—`,full:i}}let Y=k(()=>{if(!K.value?.results)return[];let e=un.value;return Object.entries(K.value.results).filter(([e])=>e!==`_meta`&&/^\d+$/.test(e)).map(([t,n])=>{let r=Number(t),i=e.get(r),a=String(n.status||``),o=n.phase?String(n.phase):void 0,s=n.exit_code??null,c=dn(n),l=ne(a,o,s),u=pe(o);return{serverId:t,serverIdNum:r,serverName:he(t,K.value?.server_names,i?.name),serverDomain:i?.domain||``,status:a,phase:o,exitCode:s,summary:c.summary,fullOutput:c.full,failed:l,pending:u}}).sort((e,t)=>e.failed===t.failed?e.pending===t.pending?e.serverName.localeCompare(t.serverName,`zh`):e.pending?1:-1:e.failed?-1:1)}),X=k(()=>te(K.value?.results,K.value?.server_ids)),fn=k(()=>Y.value.filter(e=>e.failed).map(e=>e.serverName)),pn=k(()=>We(Y.value)),mn=k(()=>q.value===`failed`?Y.value.filter(e=>e.failed):q.value===`success`?Y.value.filter(e=>!e.failed&&!e.pending):Y.value),Z=k(()=>Y.value.find(e=>e.serverId===J.value)||null);function hn(e){return te(e.results,e.server_ids)}function gn(e){return Ce.find(t=>t.value===e)?.label||e}function _n(e){if(!e)return`—`;let t=e.startsWith(`[long_task] `)?e.slice(12):e;return t.length>60?`${t.slice(0,60)}…`:t}function vn(e){return e.script_id?I.value.find(t=>t.id===e.script_id)?.name||`脚本 #${e.script_id}`:`临时命令`}function yn(e){if(!e)return`—`;let t=new Date(e);if(Number.isNaN(t.getTime()))return e.replace(`T`,` `).slice(0,19);let n=e=>String(e).padStart(2,`0`);return`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())} ${n(t.getHours())}:${n(t.getMinutes())}:${n(t.getSeconds())}`}function bn(e){let t=e.events||[];return t.length?t.slice(-3).map(e=>{let t=ln[e.action||``]||e.action||`事件`,n=yn(e.at),r=e.detail||``;return`${n} · ${t}${r?` — ${r}`:``}`}):[]}async function xn(e=!1){e||(Bt.value=!0);try{zt.value=(await C.get(`/scripts/executions`,{limit:5})).items||[]}catch{e||(zt.value=[])}finally{e||(Bt.value=!1)}}async function Q(e=!1){e||(Wt.value=!0);try{let e=await Re(async(e,t)=>{let n={limit:e,offset:t};W.value&&(n.script_id=W.value);let r=await C.get(`/scripts/executions`,n);return{items:r.items||[],total:r.total||0}},U.value,Ut.value);Vt.value=e.items,Ht.value=e.total,Ut.value===-1&&(U.value=1)}catch{e||(Vt.value=[],Ht.value=0)}finally{e||(Wt.value=!1)}}function $(e=!1){xn(e),Q(e)}Ue($);function Sn(e){U.value=e,Q()}function Cn(e){Ut.value=e,U.value=1,Q()}function wn(){W.value=null,U.value=1,Q()}async function Tn(e){W.value=e.id,U.value=1,await Q(),await ue(),Rt.value?.scrollIntoView({behavior:`smooth`,block:`start`})}function En(e){return e||`—`}function Dn(e){if(!e)return 0;try{let t=JSON.parse(e);return Array.isArray(t)?t.length:0}catch{return 0}}function On(e){let t=e.id??e.execution_id;if(t==null)throw Error(`执行响应缺少 id`);return t}async function kn(){Pe.value=!0;try{I.value=(await C.getList(`/scripts/`)).items}catch(e){I.value=[],f(F(e,`加载脚本列表失败`),`error`)}finally{Pe.value=!1}}async function An(){try{L.value=await C.get(`/scripts/exec-config`)}catch{L.value=null}}async function jn(){try{Xe.value=await C.getList(`/scripts/credentials`).then(e=>e.items)}catch{Xe.value=[]}}function Mn(e){$e.value=e,e?z.value={name:e.name,category:e.category||`ops`,description:e.description||``,content:e.content||``}:z.value={name:``,category:`ops`,description:``,content:``},R.value=!0}async function Nn(){if(!z.value.name.trim()||!z.value.content.trim()){f(`请填写名称与脚本内容`,`warning`);return}et.value=!0;try{let e={name:z.value.name.trim(),category:z.value.category,description:z.value.description.trim()||null,content:z.value.content};$e.value?await C.put(`/scripts/${$e.value.id}`,e):await C.post(`/scripts/`,e),R.value=!1,await kn(),f(`保存成功`)}catch(e){f(F(e,`保存失败`),`error`)}finally{et.value=!1}}function Pn(e){V.value=e,H.value=[],Nt.value=!1,Pt.value=null,B.value=!0}async function Fn(e,t,n){let r=await C.post(`/scripts/exec`,e);return re(On(r),t,n,!!e.long_task,r.progress,r.status),r}async function In(){if(!V.value||!H.value.length){f(`请选择服务器`,`warning`);return}Ft.value=!0;try{await Fn({script_id:V.value.id,server_ids:H.value,timeout:Mt.value,long_task:Nt.value,credential_id:Pt.value??void 0},V.value.name,H.value.length),B.value=!1,Se(`脚本已提交执行`),$()}catch(e){f(F(e,`执行失败`),`error`)}finally{Ft.value=!1}}function Ln(e){Lt.value=e,It.value=!0}async function Rn(){if(Lt.value)try{await C.delete(`/scripts/${Lt.value.id}`),It.value=!1,await kn(),f(`已删除`)}catch(e){f(F(e,`删除失败`),`error`)}}async function zn(){if(!(!Kt.value.trim()||G.value.length===0)){Xt.value=!0;try{await Fn({command:Kt.value.trim(),server_ids:G.value,timeout:qt.value,long_task:Jt.value,credential_id:Yt.value??void 0},`临时命令`,G.value.length),Se(`已在 ${G.value.length} 台服务器上执行`),$()}catch(e){f(F(e,`执行失败`),`error`)}finally{Xt.value=!1}}}async function Bn(e){try{await C.post(`/scripts/executions/${e.id}/stop`),$(),f(`已发送停止指令`)}catch(e){f(F(e,`停止失败`),`error`)}}async function Vn(e){try{let t=await C.post(`/scripts/executions/${e.id}/retry`,{});re(On(t),`${vn(e)}(重试)`,Dn(e.server_ids)||Dn(t.server_ids),!!e.long_task,t.progress,t.status),$(),Se(`重试已提交`)}catch(e){f(F(e,`重试失败`),`error`)}}async function Hn(e){if($t.value=e,q.value=`all`,en.value=`list`,J.value=null,tn.value=[],Zt.value=!0,await Zn(!1),te(K.value?.results,K.value?.server_ids).failed>0&&(K.value?.status===`failed`||K.value?.status===`partial`)){q.value=`failed`;let e=Y.value.find(e=>e.failed);e&&(J.value=e.serverId)}}function Un(e){let t=e.serverDomain?` (${e.serverDomain})`:``,n=e.exitCode==null?``:` · exit ${e.exitCode}`,r=e.summary.split(`
`)[0]?.trim()||e.summary,i=r&&r!==`—`?` · ${r.slice(0,120)}`:``;return`- ${e.serverName}${t}${n}${i}`}async function Wn(e,t){try{await navigator.clipboard.writeText(e),f(t)}catch{f(`复制失败`,`error`)}}async function Gn(){let e=Y.value.filter(e=>e.failed);e.length&&await Wn([`执行 #${K.value?.id??$t.value} · 失败 ${e.length} 台`,...e.map(Un)].join(`
`),`已复制失败清单`)}async function Kn(){let e=pn.value;if(!e.length)return;let t=[`执行 #${K.value?.id??$t.value} · 失败分组 ${e.length} 类`];for(let n of e){let e=n.rows.map(e=>e.serverName).join(`、`);t.push(`[${n.errorKey.slice(0,120)}] ${n.count} 台: ${e}`)}await Wn(t.join(`
`),`已复制分组摘要`)}function qn(e){J.value=J.value===e?null:e}async function Jn(e){if(!(!e.fullOutput||e.fullOutput===`—`))try{await navigator.clipboard.writeText(e.fullOutput),f(`已复制到剪贴板`)}catch{f(`复制失败`,`error`)}}function Yn(e){oe.push({path:`/terminal`,query:{server_id:String(e)}})}async function Xn(){K.value&&await Vn(K.value)}async function Zn(e){if($t.value!=null){Qt.value=!0;try{K.value=await C.get(`/scripts/executions/${$t.value}`,{fetch_logs:e,log_lines:100})}catch(e){f(F(e,`加载详情失败`),`error`),Zt.value=!1}finally{Qt.value=!1}}}return fe(()=>{kn(),be({all:!0}),An(),jn(),$()}),(e,i)=>(p(),w(o,{fluid:``,class:`pa-6`},{default:g(()=>[E(b,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:g(()=>[E(d,{class:`d-flex flex-wrap align-center ga-2`},{default:g(()=>[i[34]||=D(` 脚本库 `,-1),L.value?(p(),w(m,{key:0,size:`small`,variant:`tonal`,label:``,class:`ml-1`},{default:g(()=>[D(` 分批 `+l(L.value.batch_size)+` 台 · 并发 `+l(L.value.concurrency),1)]),_:1})):T(``,!0),E(_),E(De,{modelValue:Le.value,"onUpdate:modelValue":i[0]||=e=>Le.value=e,"prepend-inner-icon":`mdi-magnify`,label:`搜索...`,density:`compact`,"hide-details":``,variant:`outlined`,rounded:``,style:{"max-width":`240px`}},null,8,[`modelValue`]),E(y,{color:`primary`,variant:`flat`,class:`ml-1`,"prepend-icon":`mdi-plus`,size:`small`,onClick:i[1]||=e=>Mn(null)},{default:g(()=>[...i[33]||=[D(` 新建脚本 `,-1)]]),_:1})]),_:1})]),_:1}),E(b,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:g(()=>[E(d,{class:`d-flex align-center`,style:{cursor:`pointer`},onClick:i[2]||=e=>Gt.value=!Gt.value},{default:g(()=>[E(N,{class:`mr-2`},{default:g(()=>[...i[35]||=[D(`mdi-console`,-1)]]),_:1}),i[36]||=D(` 临时命令执行 `,-1),E(_),E(N,null,{default:g(()=>[D(l(Gt.value?`mdi-chevron-up`:`mdi-chevron-down`),1)]),_:1})]),_:1}),E(ie,null,{default:g(()=>[ae(M(`div`,null,[E(v),E(P,null,{default:g(()=>[E(Ve,{modelValue:Kt.value,"onUpdate:modelValue":i[3]||=e=>Kt.value=e,label:`命令`,variant:`outlined`,density:`compact`,rows:`3`,placeholder:`输入要执行的命令... (Ctrl+Enter 执行)`,class:`mb-3 font-monospace`,onKeydown:ye(we(zn,[`ctrl`]),[`enter`]),rules:[S(ze)(`命令`)]},null,8,[`modelValue`,`onKeydown`,`rules`]),i[38]||=M(`div`,{class:`text-caption text-medium-emphasis mb-1`},`目标服务器(按分类选择)`,-1),E(tt,{modelValue:G.value,"onUpdate:modelValue":i[4]||=e=>G.value=e,servers:S(ce),loading:S(ve),"max-height":`220px`,class:`mb-3`},null,8,[`modelValue`,`servers`,`loading`]),E(c,{dense:``},{default:g(()=>[E(s,{cols:`6`,md:`2`},{default:g(()=>[E(De,{modelValue:qt.value,"onUpdate:modelValue":i[5]||=e=>qt.value=e,modelModifiers:{number:!0},label:`超时(秒)`,variant:`outlined`,density:`compact`,type:`number`,max:L.value?.max_timeout??600},null,8,[`modelValue`,`max`])]),_:1}),E(s,{cols:`6`,md:`3`},{default:g(()=>[E(a,{modelValue:Yt.value,"onUpdate:modelValue":i[6]||=e=>Yt.value=e,items:nn.value,"item-title":`title`,"item-value":`value`,label:`DB 凭据(可选)`,variant:`outlined`,density:`compact`,clearable:``,"hide-details":``},null,8,[`modelValue`,`items`])]),_:1}),E(s,{cols:`12`,md:`2`,class:`d-flex align-center ga-2`},{default:g(()=>[E(He,{modelValue:Jt.value,"onUpdate:modelValue":i[7]||=e=>Jt.value=e,label:`长任务`,density:`compact`,"hide-details":``,color:`primary`},null,8,[`modelValue`]),E(y,{color:`primary`,variant:`flat`,onClick:zn,loading:Xt.value,disabled:!Kt.value.trim()||G.value.length===0},{default:g(()=>[...i[37]||=[D(` 执行 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1})]),_:1})]),_:1})],512),[[xe,Gt.value]])]),_:1})]),_:1}),Pe.value?(p(),w(Te,{key:0,indeterminate:``,color:`primary`})):T(``,!0),on.value.length?(p(),w(c,{key:1},{default:g(()=>[(p(!0),A(j,null,O(on.value,e=>(p(),w(s,{cols:`12`,sm:`6`,md:`4`,key:e.id},{default:g(()=>[E(b,{elevation:`0`,border:``,rounded:`lg`,class:`fill-height`},{default:g(()=>[E(d,{class:`d-flex align-center`},{default:g(()=>[E(N,{color:`primary`,class:`mr-2`},{default:g(()=>[...i[39]||=[D(`mdi-code-braces`,-1)]]),_:1}),M(`span`,nt,l(e.name),1),E(_),E(ke,null,{activator:g(({props:e})=>[E(y,Ae({icon:`mdi-dots-vertical`,variant:`text`,size:`small`},{ref_for:!0},e),null,16)]),default:g(()=>[E(de,{density:`compact`},{default:g(()=>[E(u,{title:`编辑`,onClick:t=>Mn(e)},{prepend:g(()=>[E(N,null,{default:g(()=>[...i[40]||=[D(`mdi-pencil`,-1)]]),_:1})]),_:1},8,[`onClick`]),E(u,{title:`执行`,onClick:t=>Pn(e)},{prepend:g(()=>[E(N,null,{default:g(()=>[...i[41]||=[D(`mdi-play`,-1)]]),_:1})]),_:1},8,[`onClick`]),E(u,{title:`删除`,onClick:t=>Ln(e),class:`text-error`},{prepend:g(()=>[E(N,{color:`error`},{default:g(()=>[...i[42]||=[D(`mdi-delete`,-1)]]),_:1})]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1024)]),_:2},1024),E(P,null,{default:g(()=>[e.category?(p(),w(m,{key:0,size:`small`,variant:`tonal`,label:``,class:`mb-2`},{default:g(()=>[D(l(gn(e.category)),1)]),_:2},1024)):T(``,!0),M(`div`,rt,l(e.description||`无描述`),1),M(`div`,it,` 更新于 `+l(e.updated_at||e.created_at||`—`),1)]),_:2},1024),E(h,null,{default:g(()=>[E(y,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-play`,color:`primary`,onClick:t=>Pn(e)},{default:g(()=>[...i[43]||=[D(` 执行 `,-1)]]),_:1},8,[`onClick`]),E(_),E(y,{size:`small`,variant:`text`,onClick:t=>Tn(e)},{default:g(()=>[...i[44]||=[D(`历史`,-1)]]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})):Pe.value?T(``,!0):(p(),w(b,{key:2,elevation:`0`,border:``,rounded:`lg`},{default:g(()=>[E(P,{class:`text-center text-medium-emphasis py-10`},{default:g(()=>[...i[45]||=[D(`暂无脚本,点击「新建脚本」添加`,-1)]]),_:1})]),_:1})),an.value>Qe.value?(p(),A(`div`,at,[E(r,{modelValue:Ze.value,"onUpdate:modelValue":i[8]||=e=>Ze.value=e,length:Math.ceil(an.value/Qe.value),rounded:``,density:`compact`},null,8,[`modelValue`,`length`])])):T(``,!0),M(`div`,{ref_key:`historySectionRef`,ref:Rt},[E(b,{elevation:`0`,border:``,rounded:`lg`,class:`mt-4`},{default:g(()=>[E(d,{class:`d-flex align-center text-subtitle-1`},{default:g(()=>[E(N,{class:`mr-2`},{default:g(()=>[...i[46]||=[D(`mdi-history`,-1)]]),_:1}),i[47]||=D(` 最近执行 `,-1),E(_),E(y,{size:`small`,variant:`text`,icon:`mdi-refresh`,loading:Bt.value,onClick:xn},null,8,[`loading`])]),_:1}),E(v),E(P,{class:`pa-0`},{default:g(()=>[Bt.value?(p(),w(Te,{key:0,indeterminate:``,color:`primary`})):T(``,!0),zt.value.length?(p(),w(de,{key:1,density:`compact`,class:`py-0`},{default:g(()=>[(p(!0),A(j,null,O(zt.value,e=>(p(),w(u,{key:e.id,title:`#${e.id} · ${vn(e)}`,onClick:t=>Hn(e.id),style:{cursor:`pointer`}},{subtitle:g(()=>[M(`div`,ot,l(S(me)(e.status))+` · `+l(Dn(e.server_ids))+` 台 · `+l(e.operator||`—`)+` · `+l(yn(e.started_at)),1),(p(!0),A(j,null,O(bn(e),(e,t)=>(p(),A(`div`,{key:t,class:`text-caption text-medium-emphasis font-monospace mt-1`},l(e),1))),128))]),append:g(()=>[E(m,{color:S(ee)(e.status),size:`x-small`,variant:`tonal`,label:``},{default:g(()=>[D(l(S(me)(e.status)),1)]),_:2},1032,[`color`])]),_:2},1032,[`title`,`onClick`]))),128))]),_:1})):Bt.value?T(``,!0):(p(),A(`div`,st,`暂无执行记录`))]),_:1})]),_:1}),E(b,{elevation:`0`,border:``,rounded:`lg`,class:`mt-4`},{default:g(()=>[E(d,{class:`d-flex flex-wrap align-center ga-2 text-subtitle-1`},{default:g(()=>[E(N,{class:`mr-1`},{default:g(()=>[...i[48]||=[D(`mdi-format-list-bulleted`,-1)]]),_:1}),i[49]||=D(` 全部执行历史 `,-1),W.value?(p(),w(m,{key:0,size:`small`,variant:`tonal`,closable:``,label:``,"onClick:close":wn},{default:g(()=>[D(l(cn.value),1)]),_:1})):T(``,!0),E(_),E(y,{size:`small`,variant:`text`,icon:`mdi-refresh`,loading:Wt.value,onClick:Q},null,8,[`loading`])]),_:1}),E(v),E(Fe,{items:Vt.value,headers:S(sn),"items-length":Ht.value,loading:Wt.value,page:U.value,"items-per-page":Ut.value,"items-per-page-options":t,density:`compact`,hover:``,"onUpdate:page":Sn,"onUpdate:itemsPerPage":Cn},{"item.label":g(({item:e})=>[M(`div`,ct,l(vn(e)),1),M(`code`,lt,l(_n(e.command)),1)]),"item.status":g(({item:e})=>[E(m,{color:S(ee)(e.status),size:`x-small`,variant:`tonal`,label:``},{default:g(()=>[D(l(S(me)(e.status)),1)]),_:2},1032,[`color`])]),"item.server_count":g(({item:e})=>[D(l(Dn(e.server_ids)),1)]),"item.progress":g(({item:e})=>[M(`div`,ut,[M(`span`,null,l(En(e.progress)),1),hn(e).failed>0?(p(),w(m,{key:0,color:`error`,size:`x-small`,variant:`tonal`,label:``},{default:g(()=>[D(l(hn(e).failed)+` 台失败 `,1)]),_:2},1024)):T(``,!0)])]),"item.started_at":g(({item:e})=>[D(l(yn(e.started_at)),1)]),"item.actions":g(({item:e})=>[E(y,{size:`x-small`,variant:`text`,onClick:t=>Hn(e.id)},{default:g(()=>[...i[50]||=[D(`详情`,-1)]]),_:1},8,[`onClick`]),e.status===`running`||e.status===`partial`?(p(),w(y,{key:0,size:`x-small`,variant:`text`,color:`error`,onClick:t=>Bn(e)},{default:g(()=>[...i[51]||=[D(` 停止 `,-1)]]),_:1},8,[`onClick`])):T(``,!0),e.status===`failed`||e.status===`partial`?(p(),w(y,{key:1,size:`x-small`,variant:`text`,color:`primary`,onClick:t=>Vn(e)},{default:g(()=>[...i[52]||=[D(` 重试 `,-1)]]),_:1},8,[`onClick`])):T(``,!0)]),"no-data":g(()=>[...i[53]||=[M(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无执行记录`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`])]),_:1})],512),E(Be,{modelValue:R.value,"onUpdate:modelValue":i[14]||=e=>R.value=e,"max-width":`900`,scrollable:``},{default:g(()=>[E(b,{border:``},{default:g(()=>[E(d,null,{default:g(()=>[D(l($e.value?`编辑脚本`:`新建脚本`),1)]),_:1}),E(v),E(P,null,{default:g(()=>[E(De,{modelValue:z.value.name,"onUpdate:modelValue":i[9]||=e=>z.value.name=e,label:`脚本名称`,variant:`outlined`,density:`compact`,class:`mb-2`,rules:[S(ze)(`脚本名称`)]},null,8,[`modelValue`,`rules`]),E(a,{modelValue:z.value.category,"onUpdate:modelValue":i[10]||=e=>z.value.category=e,items:Ce,"item-title":`label`,"item-value":`value`,label:`分类`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),E(Ve,{modelValue:z.value.description,"onUpdate:modelValue":i[11]||=e=>z.value.description=e,label:`描述`,variant:`outlined`,density:`compact`,rows:`2`,class:`mb-2`},null,8,[`modelValue`]),i[54]||=M(`div`,{class:`text-caption text-medium-emphasis mb-1`},`脚本内容`,-1),E(Ye,{modelValue:z.value.content,"onUpdate:modelValue":i[12]||=e=>z.value.content=e},null,8,[`modelValue`])]),_:1}),E(v),E(h,null,{default:g(()=>[E(_),E(y,{variant:`text`,onClick:i[13]||=e=>R.value=!1},{default:g(()=>[...i[55]||=[D(`取消`,-1)]]),_:1}),E(y,{color:`primary`,variant:`flat`,onClick:Nn,loading:et.value,disabled:!z.value.content.trim()},{default:g(()=>[...i[56]||=[D(` 保存 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),E(Be,{modelValue:B.value,"onUpdate:modelValue":i[20]||=e=>B.value=e,"max-width":`720`,scrollable:``},{default:g(()=>[E(b,{border:``},{default:g(()=>[E(d,null,{default:g(()=>[D(`执行脚本: `+l(V.value?.name),1)]),_:1}),E(P,null,{default:g(()=>[i[57]||=M(`div`,{class:`text-caption text-medium-emphasis mb-1`},`选择服务器(按分类勾选)`,-1),E(tt,{modelValue:H.value,"onUpdate:modelValue":i[15]||=e=>H.value=e,servers:S(ce),loading:S(ve),"max-height":`360px`,class:`mb-2`},null,8,[`modelValue`,`servers`,`loading`]),E(c,{dense:``},{default:g(()=>[E(s,{cols:`6`},{default:g(()=>[E(De,{modelValue:Mt.value,"onUpdate:modelValue":i[16]||=e=>Mt.value=e,modelModifiers:{number:!0},label:`超时(秒)`,variant:`outlined`,density:`compact`,type:`number`,max:L.value?.max_timeout??600},null,8,[`modelValue`,`max`])]),_:1}),E(s,{cols:`6`},{default:g(()=>[E(a,{modelValue:Pt.value,"onUpdate:modelValue":i[17]||=e=>Pt.value=e,items:nn.value,"item-title":`title`,"item-value":`value`,label:`DB 凭据(可选)`,variant:`outlined`,density:`compact`,clearable:``},null,8,[`modelValue`,`items`])]),_:1})]),_:1}),E(He,{modelValue:Nt.value,"onUpdate:modelValue":i[18]||=e=>Nt.value=e,label:`长任务(nohup + Agent 回调,适合超时较长的脚本)`,density:`compact`,color:`primary`},null,8,[`modelValue`])]),_:1}),E(h,null,{default:g(()=>[E(_),E(y,{variant:`text`,onClick:i[19]||=e=>B.value=!1},{default:g(()=>[...i[58]||=[D(`取消`,-1)]]),_:1}),E(y,{color:`primary`,variant:`flat`,onClick:In,loading:Ft.value,disabled:!H.value.length},{default:g(()=>[...i[59]||=[D(` 执行 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),E(Be,{modelValue:It.value,"onUpdate:modelValue":i[22]||=e=>It.value=e,"max-width":`400`},{default:g(()=>[E(b,{border:``},{default:g(()=>[E(d,null,{default:g(()=>[...i[60]||=[D(`确认删除`,-1)]]),_:1}),E(P,null,{default:g(()=>[i[61]||=D(`确定要删除脚本 `,-1),M(`strong`,null,l(Lt.value?.name),1),i[62]||=D(` 吗?`,-1)]),_:1}),E(h,null,{default:g(()=>[E(_),E(y,{variant:`text`,onClick:i[21]||=e=>It.value=!1},{default:g(()=>[...i[63]||=[D(`取消`,-1)]]),_:1}),E(y,{color:`error`,variant:`flat`,onClick:Rn},{default:g(()=>[...i[64]||=[D(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),E(Be,{modelValue:Zt.value,"onUpdate:modelValue":i[32]||=e=>Zt.value=e,"max-width":`960`,scrollable:``},{default:g(()=>[E(b,{border:``},{default:g(()=>[E(d,{class:`d-flex align-center flex-wrap ga-2`},{default:g(()=>[M(`span`,null,`执行详情 #`+l(K.value?.id),1),K.value?(p(),w(m,{key:0,color:S(ee)(K.value.status),size:`small`,variant:`tonal`,label:``},{default:g(()=>[D(l(S(me)(K.value.status)),1)]),_:1},8,[`color`])):T(``,!0),E(_),K.value?.long_task?(p(),w(y,{key:1,size:`small`,variant:`tonal`,loading:Qt.value,onClick:i[23]||=e=>Zn(!0)},{default:g(()=>[...i[65]||=[D(` 拉取日志 `,-1)]]),_:1},8,[`loading`])):T(``,!0)]),_:1}),E(v),K.value?(p(),w(P,{key:0},{default:g(()=>[M(`div`,dt,l(En(K.value.progress))+` · 操作人 `+l(K.value.operator||`—`),1),M(`pre`,ft,l(K.value.command),1),X.value.total?(p(),A(`div`,pt,[E(m,{size:`small`,variant:`tonal`,label:``},{default:g(()=>[D(`共 `+l(X.value.total)+` 台`,1)]),_:1}),X.value.success?(p(),w(m,{key:0,color:`success`,size:`small`,variant:`tonal`,label:``},{default:g(()=>[D(` 成功 `+l(X.value.success),1)]),_:1})):T(``,!0),X.value.failed?(p(),w(m,{key:1,color:`error`,size:`small`,variant:`tonal`,label:``},{default:g(()=>[D(` 失败 `+l(X.value.failed),1)]),_:1})):T(``,!0),X.value.pending?(p(),w(m,{key:2,color:`info`,size:`small`,variant:`tonal`,label:``},{default:g(()=>[D(` 进行中 `+l(X.value.pending),1)]),_:1})):T(``,!0)])):T(``,!0),fn.value.length?(p(),w(ge,{key:1,type:`error`,variant:`tonal`,density:`compact`,class:`mb-3`,title:`失败 ${fn.value.length} 台`},{default:g(()=>[M(`div`,mt,l(fn.value.join(`、`)),1)]),_:1},8,[`title`])):T(``,!0),M(`div`,ht,[i[74]||=M(`span`,{class:`text-caption text-medium-emphasis`},`筛选`,-1),E(Ee,{modelValue:q.value,"onUpdate:modelValue":i[24]||=e=>q.value=e,mandatory:``,density:`compact`,color:`primary`,variant:`outlined`,divided:``},{default:g(()=>[E(y,{value:`all`,size:`small`},{default:g(()=>[...i[66]||=[D(`全部`,-1)]]),_:1}),E(y,{value:`failed`,size:`small`},{default:g(()=>[...i[67]||=[D(`仅失败`,-1)]]),_:1}),E(y,{value:`success`,size:`small`},{default:g(()=>[...i[68]||=[D(`仅成功`,-1)]]),_:1})]),_:1},8,[`modelValue`]),X.value.failed>0?(p(),A(j,{key:0},[E(v,{vertical:``,class:`mx-1`}),i[73]||=M(`span`,{class:`text-caption text-medium-emphasis`},`视图`,-1),E(Ee,{modelValue:en.value,"onUpdate:modelValue":i[25]||=e=>en.value=e,mandatory:``,density:`compact`,color:`primary`,variant:`outlined`,divided:``},{default:g(()=>[E(y,{value:`list`,size:`small`},{default:g(()=>[...i[69]||=[D(`列表`,-1)]]),_:1}),E(y,{value:`group`,size:`small`},{default:g(()=>[...i[70]||=[D(`按错误分组`,-1)]]),_:1})]),_:1},8,[`modelValue`]),E(y,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-content-copy`,onClick:Gn},{default:g(()=>[...i[71]||=[D(` 复制失败清单 `,-1)]]),_:1}),en.value===`group`?(p(),w(y,{key:0,size:`small`,variant:`tonal`,"prepend-icon":`mdi-content-copy`,onClick:Kn},{default:g(()=>[...i[72]||=[D(` 复制分组摘要 `,-1)]]),_:1})):T(``,!0)],64)):T(``,!0)]),en.value===`list`?(p(),w(n,{key:2,density:`compact`,class:`exec-detail-table`},{default:g(()=>[i[76]||=M(`thead`,null,[M(`tr`,null,[M(`th`,null,`服务器`),M(`th`,null,`状态`),M(`th`,{style:{width:`72px`}},`退出码`),M(`th`,null,`错误摘要`),M(`th`,{style:{width:`120px`},class:`text-end`},`操作`)])],-1),M(`tbody`,null,[(p(!0),A(j,null,O(mn.value,e=>(p(),A(`tr`,{key:e.serverId,class:_e([{"exec-detail-row--failed":e.failed,"exec-detail-row--active":J.value===e.serverId},`exec-detail-row cursor-pointer`]),onClick:t=>qn(e.serverId)},[M(`td`,null,[M(`div`,_t,l(e.serverName),1),e.serverDomain?(p(),A(`div`,vt,l(e.serverDomain),1)):T(``,!0)]),M(`td`,null,[E(m,{color:S(le)(e.status,e.phase,e.exitCode),size:`x-small`,variant:`tonal`,label:``},{default:g(()=>[D(l(S(je)(e.status,e.phase)),1)]),_:2},1032,[`color`])]),M(`td`,{class:_e({"text-error font-weight-medium":e.failed})},l(e.exitCode??`—`),3),M(`td`,{class:`text-truncate`,style:{"max-width":`280px`},title:e.summary},l(e.summary),9,yt),M(`td`,{class:`text-end`,onClick:i[26]||=we(()=>{},[`stop`])},[e.fullOutput&&e.fullOutput!==`—`?(p(),w(y,{key:0,size:`x-small`,variant:`text`,icon:`mdi-content-copy`,title:`复制输出`,onClick:t=>Jn(e)},null,8,[`onClick`])):T(``,!0),E(y,{size:`x-small`,variant:`text`,icon:`mdi-console`,title:`打开终端`,onClick:t=>Yn(e.serverIdNum)},null,8,[`onClick`])])],10,gt))),128)),mn.value.length===0?(p(),A(`tr`,bt,[...i[75]||=[M(`td`,{colspan:`5`,class:`text-center text-medium-emphasis py-4`},`当前筛选无记录`,-1)]])):T(``,!0)])]),_:1})):pn.value.length?(p(),w(Je,{key:3,modelValue:tn.value,"onUpdate:modelValue":i[28]||=e=>tn.value=e,multiple:``,variant:`accordion`,class:`exec-detail-groups`},{default:g(()=>[(p(!0),A(j,null,O(pn.value,(e,t)=>(p(),w(Ke,{key:`${t}-${e.errorKey}`},{default:g(()=>[E(qe,null,{default:g(()=>[M(`div`,xt,[M(`span`,{class:`text-body-2 text-truncate`,title:e.errorKey},l(e.errorKey),9,St),E(m,{color:`error`,size:`x-small`,variant:`tonal`,label:``},{default:g(()=>[D(l(e.count)+` 台`,1)]),_:2},1024)])]),_:2},1024),E(Ge,null,{default:g(()=>[E(n,{density:`compact`},{default:g(()=>[i[77]||=M(`thead`,null,[M(`tr`,null,[M(`th`,null,`服务器`),M(`th`,{style:{width:`72px`}},`退出码`),M(`th`,{style:{width:`120px`},class:`text-end`},`操作`)])],-1),M(`tbody`,null,[(p(!0),A(j,null,O(e.rows,e=>(p(),A(`tr`,{key:e.serverId,class:_e([{"exec-detail-row--active":J.value===e.serverId},`exec-detail-row cursor-pointer`]),onClick:t=>qn(e.serverId)},[M(`td`,null,[M(`div`,wt,l(e.serverName),1),e.serverDomain?(p(),A(`div`,Tt,l(e.serverDomain),1)):T(``,!0)]),M(`td`,Et,l(e.exitCode??`—`),1),M(`td`,{class:`text-end`,onClick:i[27]||=we(()=>{},[`stop`])},[e.fullOutput&&e.fullOutput!==`—`?(p(),w(y,{key:0,size:`x-small`,variant:`text`,icon:`mdi-content-copy`,title:`复制输出`,onClick:t=>Jn(e)},null,8,[`onClick`])):T(``,!0),E(y,{size:`x-small`,variant:`text`,icon:`mdi-console`,title:`打开终端`,onClick:t=>Yn(e.serverIdNum)},null,8,[`onClick`])])],10,Ct))),128))])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1},8,[`modelValue`])):(p(),A(`div`,Dt,`无失败记录可分组`)),Z.value?(p(),w(b,{key:5,variant:`tonal`,color:Z.value.failed?`error`:void 0,class:`mt-3 pa-3`},{default:g(()=>[M(`div`,Ot,[M(`span`,kt,[D(l(Z.value.serverName)+` `,1),Z.value.serverDomain?(p(),A(`span`,At,``+l(Z.value.serverDomain)+``,1)):T(``,!0)]),E(_),E(y,{size:`x-small`,variant:`text`,"prepend-icon":`mdi-content-copy`,onClick:i[29]||=e=>Jn(Z.value)},{default:g(()=>[...i[78]||=[D(` 复制 `,-1)]]),_:1}),E(y,{size:`x-small`,variant:`text`,"prepend-icon":`mdi-console`,onClick:i[30]||=e=>Yn(Z.value.serverIdNum)},{default:g(()=>[...i[79]||=[D(` 终端 `,-1)]]),_:1})]),M(`pre`,jt,l(Z.value.fullOutput),1)]),_:1},8,[`color`])):T(``,!0)]),_:1})):T(``,!0),K.value?(p(),w(h,{key:1},{default:g(()=>[K.value.status===`failed`||K.value.status===`partial`?(p(),w(y,{key:0,color:`primary`,variant:`text`,onClick:Xn},{default:g(()=>[...i[80]||=[D(` 重试失败项 `,-1)]]),_:1})):T(``,!0),E(_),E(y,{variant:`text`,onClick:i[31]||=e=>Zt.value=!1},{default:g(()=>[...i[81]||=[D(`关闭`,-1)]]),_:1})]),_:1})):T(``,!0)]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}}),[[`__scopeId`,`data-v-9245f7f3`]]);export{V as default};