fe8b24ca0b
关闭分项告警后不再推送对应恢复消息;仪表盘移除服务器列表并更新设置页说明。 Co-authored-by: Cursor <cursoragent@cursor.com>
1 line
4.7 KiB
JavaScript
1 line
4.7 KiB
JavaScript
import{n as e,t}from"./useSnackbar-knhbsEw2.js";import{$r as n,Br as r,Jt as i,P as a,_ as o,_r as s,fr as c,jr as l,mr as u,pr as d,qr as f,ri as p,vr as m,y as h,yr as g}from"./index-B-6ti5uq.js";import{t as _}from"./usePageActivateRefresh-C5hQgakB.js";import{n as v}from"./dataTable-esDY4cOk.js";import{a as y,n as b,r as x,t as S}from"./VCard-DG7tl1W3.js";import{t as C}from"./VSelect-aldIHHnJ.js";import{t as w}from"./VDataTableServer-CjBqC_8R.js";import{t as T}from"./VDialog-CY50SVhr.js";import{t as E}from"./usePageAutoRefresh-Go2rtdJ9.js";var D={class:`font-weight-medium text-truncate d-inline-block`,style:{"max-width":`240px`}},O={class:`text-medium-emphasis`},k={class:`text-medium-emphasis`},A={class:`text-caption text-medium-emphasis`},j={class:`text-caption text-medium-emphasis`},M=g({name:`RetriesPage`,__name:`RetriesPage`,setup(g){let M=t(),N=f(!1),P=f([]),F=f(0),I=f(1),L=f(null),R=f(!1),z=f(null),B=[{label:`待重试`,value:`pending`},{label:`重试中`,value:`retrying`},{label:`成功`,value:`success`},{label:`失败`,value:`failed`}],V=v([{title:`状态`,key:`status`,width:100},{title:`任务`,key:`operation`},{title:`服务器`,key:`server_name`},{title:`次数`,key:`retry_count`,width:100},{title:`下次重试`,key:`next_retry_at`,width:140},{title:`创建时间`,key:`created_at`,width:160},{title:``,key:`actions`,width:120,align:`end`}]);async function H(e=!1){e||(N.value=!0);try{let e=(await i.getList(`/retries/`,{limit:200})).items||[];L.value&&(e=e.filter(e=>e.status===L.value)),F.value=e.length;let t=(I.value-1)*20;P.value=e.slice(t,t+20)}catch(t){e||(P.value=[],F.value=0,M(t instanceof Error?t.message:`加载重试队列失败`,`error`))}finally{e||(N.value=!1)}}async function U(e){try{await i.post(`/retries/${e.id}/retry`),H(),M(`重试已触发`)}catch(e){M(e.message||`操作失败`,`error`)}}function W(e){z.value=e.id,R.value=!0}async function G(){if(z.value)try{await i.delete(`/retries/${z.value}`),R.value=!1,H(),M(`已删除`)}catch(e){M(e.message||`删除失败`,`error`)}}function K(e){return e===`success`?`success`:e===`failed`?`error`:e===`retrying`?`warning`:`info`}function q(e){return e===`pending`?`待重试`:e===`retrying`?`重试中`:e===`success`?`成功`:e===`failed`?`失败`:e}function J(e){return e.source_path&&e.target_path?`${e.source_path} → ${e.target_path}`:e.source_path||e.target_path||`文件推送`}return E(()=>H(!0),15e3),_(e=>H(e)),(t,i)=>(l(),d(e,{fluid:``,class:`pa-6`},{default:r(()=>[m(S,{elevation:`0`,border:``,rounded:`lg`},{default:r(()=>[m(x,{class:`d-flex align-center text-h6`},{default:r(()=>[i[5]||=s(` 重试队列 `,-1),m(o),m(C,{modelValue:L.value,"onUpdate:modelValue":[i[0]||=e=>L.value=e,i[1]||=e=>{I.value=1,H()}],items:B,"item-title":`label`,"item-value":`value`,label:`状态筛选`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`160px`},clearable:``},null,8,[`modelValue`])]),_:1}),m(w,{items:P.value,headers:n(V),"items-length":F.value,loading:N.value,page:I.value,"items-per-page":20,hover:``,density:`comfortable`,"onUpdate:page":i[2]||=e=>{I.value=e,H()}},{"item.status":r(({item:e})=>[m(h,{color:K(e.status),size:`x-small`,variant:`tonal`,label:``,border:`sm`},{default:r(()=>[s(p(q(e.status)),1)]),_:2},1032,[`color`])]),"item.operation":r(({item:e})=>[c(`span`,D,p(J(e)),1)]),"item.server_name":r(({item:e})=>[c(`span`,O,p(e.server_name||`—`),1)]),"item.retry_count":r(({item:e})=>[c(`span`,k,p(e.retry_count||0)+` / `+p(e.max_retries||3),1)]),"item.next_retry_at":r(({item:e})=>[c(`span`,A,p(e.next_retry_at||`—`),1)]),"item.created_at":r(({item:e})=>[c(`span`,j,p(e.created_at),1)]),"item.actions":r(({item:e})=>[e.status===`pending`||e.status===`failed`?(l(),d(a,{key:0,variant:`text`,size:`x-small`,color:`primary`,density:`compact`,onClick:t=>U(e)},{default:r(()=>[...i[6]||=[s(` 重试 `,-1)]]),_:1},8,[`onClick`])):u(``,!0),m(a,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>W(e)},{default:r(()=>[...i[7]||=[s(` 删除 `,-1)]]),_:1},8,[`onClick`])]),"no-data":r(()=>[...i[8]||=[c(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`])]),_:1}),m(T,{modelValue:R.value,"onUpdate:modelValue":i[4]||=e=>R.value=e,"max-width":`400`},{default:r(()=>[m(S,{border:``},{default:r(()=>[m(x,null,{default:r(()=>[...i[9]||=[s(`确认删除`,-1)]]),_:1}),m(b,null,{default:r(()=>[...i[10]||=[s(`确定要删除此重试任务吗?`,-1)]]),_:1}),m(y,null,{default:r(()=>[m(o),m(a,{variant:`text`,onClick:i[3]||=e=>R.value=!1},{default:r(()=>[...i[11]||=[s(`取消`,-1)]]),_:1}),m(a,{color:`error`,variant:`flat`,onClick:G},{default:r(()=>[...i[12]||=[s(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}});export{M as default}; |