51948469c2
- Stop ignoring web/app/index.html and web/app/assets/ - Bundle index-DBKIQT7H.js from current vite build (~101MB assets) Co-authored-by: Cursor <cursoragent@cursor.com>
1 line
6.9 KiB
JavaScript
1 line
6.9 KiB
JavaScript
import{$n as e,Ar as t,Er as n,F as r,Jn as i,L as a,M as o,N as s,P as c,Qn as l,Rt as u,br as d,cr as f,gr as p,qn as m,t as h,tr as g,ur as _}from"./index-ngtHwr8t.js";import{t as v}from"./useSnackbar-D7YOfKok.js";import{t as y}from"./VChip-pM5_2xb4.js";import{t as b}from"./VDialog-v2_KHyRZ.js";import{a as x}from"./VSelectionControl-B8N1uBPi.js";import{t as S}from"./VSpacer-B9pYUh4l.js";import{t as C}from"./VSelect-dA-HhEp_.js";import{t as w}from"./VDataTableServer-DSbw4kV5.js";import{t as T}from"./useServerList-DiBsn_ee.js";import{a as E,t as D}from"./validation-Yxuom3Du.js";import{t as O}from"./VSwitch-Dk0pP8D3.js";var k={class:`text-medium-emphasis`},A={class:`text-caption text-medium-emphasis`},j={class:`text-caption text-medium-emphasis`},M=g({__name:`SchedulesPage`,setup(g){let M=v(),{servers:N,loadServers:P}=T(),F=d(!1),I=d(null),L=d(null),R=d([]),z=d(1),B=d(0),V=d(20),H=d(!1),U=d(null),W=d(!1),G=d({name:``,cron:``,source_path:``,target_path:``,server_ids:[],enabled:!0}),K=d(!1),q=d(null),J=[{title:`名称`,key:`name`},{title:`Cron`,key:`cron_expr`,width:160},{title:`源路径`,key:`source_path`},{title:`目标路径`,key:`target_path`},{title:`服务器`,key:`server_count`,width:80},{title:`上次运行`,key:`last_run_at`,width:140},{title:`下次运行`,key:`next_run`,width:140},{title:`启用`,key:`enabled`,width:80},{title:`操作`,key:`actions`,width:200,align:`end`}];async function Y(){F.value=!0;try{let e=await u.getList(`/schedules/`,{page:z.value,per_page:V.value});R.value=e.items,B.value=e.total}catch{R.value=[]}finally{F.value=!1}}function X(e){U.value=e,e?G.value={name:e.name,cron:e.cron_expr,source_path:e.source_path||``,target_path:e.target_path||``,server_ids:e.server_ids||[],enabled:e.enabled}:G.value={name:``,cron:``,source_path:``,target_path:``,server_ids:[],enabled:!0},H.value=!0}async function Z(){W.value=!0;try{U.value?await u.put(`/schedules/${U.value.id}`,G.value):await u.post(`/schedules/`,G.value),H.value=!1,Y(),M(`保存成功`)}catch(e){M(e.message||`保存失败`,`error`)}finally{W.value=!1}}async function Q(e){I.value=e.id;try{await u.put(`/schedules/${e.id}`,{enabled:e.enabled})}catch(t){e.enabled=!e.enabled,M(t.message||`操作失败`,`error`)}finally{I.value=null}}async function $(e){L.value=e.id;try{await u.post(`/sync/files`,{source_path:e.source_path,target_path:e.target_path,server_ids:e.server_ids}),M(`已触发推送`)}catch(e){M(e.message||`执行失败`,`error`)}finally{L.value=null}}function ee(e){q.value=e,K.value=!0}async function te(){if(q.value)try{await u.delete(`/schedules/${q.value.id}`),K.value=!1,Y(),M(`已删除`)}catch(e){M(e.message||`删除失败`,`error`)}}return f(()=>{Y(),P()}),(u,d)=>(_(),i(x,{fluid:``,class:`pa-6`},{default:p(()=>[e(o,{elevation:`0`,border:``,rounded:`lg`},{default:p(()=>[e(c,{class:`d-flex align-center`},{default:p(()=>[d[14]||=l(` 推送调度 `,-1),e(S),e(a,{color:`primary`,variant:`flat`,size:`small`,"prepend-icon":`mdi-plus`,onClick:d[0]||=e=>X(null)},{default:p(()=>[...d[13]||=[l(`新建调度`,-1)]]),_:1})]),_:1}),e(w,{items:R.value,headers:J,"items-length":B.value,loading:F.value,page:z.value,"items-per-page":V.value,hover:``,density:`comfortable`,"onUpdate:page":d[1]||=e=>{z.value=e,Y()},"onUpdate:itemsPerPage":d[2]||=e=>{V.value=e,z.value=1,Y()}},{"item.enabled":p(({item:t})=>[e(O,{modelValue:t.enabled,"onUpdate:modelValue":[e=>t.enabled=e,e=>Q(t)],color:`primary`,density:`compact`,"hide-details":``,loading:I.value===t.id},null,8,[`modelValue`,`onUpdate:modelValue`,`loading`])]),"item.cron_expr":p(({item:n})=>[e(y,{size:`small`,variant:`tonal`,label:``,"prepend-icon":`mdi-clock-outline`},{default:p(()=>[l(t(n.cron_expr),1)]),_:2},1024)]),"item.server_count":p(({item:e})=>[m(`span`,k,t(e.server_ids?.length||0)+` 台`,1)]),"item.last_run_at":p(({item:e})=>[m(`span`,A,t(e.last_run_at||`从未运行`),1)]),"item.next_run":p(({item:e})=>[m(`span`,j,t(e.next_run||`—`),1)]),"item.actions":p(({item:t})=>[e(a,{variant:`text`,size:`x-small`,density:`compact`,onClick:e=>X(t)},{default:p(()=>[...d[15]||=[l(`编辑`,-1)]]),_:1},8,[`onClick`]),e(a,{variant:`text`,size:`x-small`,density:`compact`,loading:L.value===t.id,onClick:e=>$(t)},{default:p(()=>[...d[16]||=[l(`立即执行`,-1)]]),_:1},8,[`loading`,`onClick`]),e(a,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:e=>ee(t)},{default:p(()=>[...d[17]||=[l(`删除`,-1)]]),_:1},8,[`onClick`])]),"no-data":p(()=>[...d[18]||=[m(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无计划任务`,-1)]]),_:1},8,[`items`,`items-length`,`loading`,`page`,`items-per-page`])]),_:1}),e(b,{modelValue:H.value,"onUpdate:modelValue":d[10]||=e=>H.value=e,"max-width":`600`},{default:p(()=>[e(o,{border:``},{default:p(()=>[e(c,null,{default:p(()=>[l(t(U.value?`编辑调度`:`新建调度`),1)]),_:1}),e(s,null,{default:p(()=>[e(h,{modelValue:G.value.name,"onUpdate:modelValue":d[3]||=e=>G.value.name=e,label:`调度名称`,variant:`outlined`,density:`compact`,class:`mb-2`,rules:[n(E)(`任务名称`)]},null,8,[`modelValue`,`rules`]),e(h,{modelValue:G.value.cron,"onUpdate:modelValue":d[4]||=e=>G.value.cron=e,label:`Cron 表达式`,variant:`outlined`,density:`compact`,hint:`例如: */30 * * * *`,"persistent-hint":``,class:`mb-2`,rules:[n(E)(`Cron表达式`),n(D)()]},null,8,[`modelValue`,`rules`]),e(h,{modelValue:G.value.source_path,"onUpdate:modelValue":d[5]||=e=>G.value.source_path=e,label:`推送源路径`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),e(h,{modelValue:G.value.target_path,"onUpdate:modelValue":d[6]||=e=>G.value.target_path=e,label:`目标路径`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),e(C,{modelValue:G.value.server_ids,"onUpdate:modelValue":d[7]||=e=>G.value.server_ids=e,items:n(N),"item-title":`name`,"item-value":`id`,label:`目标服务器`,variant:`outlined`,density:`compact`,multiple:``,chips:``,class:`mb-2`},null,8,[`modelValue`,`items`]),e(O,{modelValue:G.value.enabled,"onUpdate:modelValue":d[8]||=e=>G.value.enabled=e,label:`启用`,color:`primary`,density:`compact`,"hide-details":``},null,8,[`modelValue`])]),_:1}),e(r,null,{default:p(()=>[e(S),e(a,{variant:`text`,onClick:d[9]||=e=>H.value=!1},{default:p(()=>[...d[19]||=[l(`取消`,-1)]]),_:1}),e(a,{color:`primary`,variant:`flat`,onClick:Z,loading:W.value},{default:p(()=>[...d[20]||=[l(`保存`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),e(b,{modelValue:K.value,"onUpdate:modelValue":d[12]||=e=>K.value=e,"max-width":`400`},{default:p(()=>[e(o,{border:``},{default:p(()=>[e(c,null,{default:p(()=>[...d[21]||=[l(`确认删除`,-1)]]),_:1}),e(s,null,{default:p(()=>[d[22]||=l(`确定要删除调度 `,-1),m(`strong`,null,t(q.value?.name),1),d[23]||=l(` 吗?`,-1)]),_:1}),e(r,null,{default:p(()=>[e(S),e(a,{variant:`text`,onClick:d[11]||=e=>K.value=!1},{default:p(()=>[...d[24]||=[l(`取消`,-1)]]),_:1}),e(a,{color:`error`,variant:`flat`,onClick:te},{default:p(()=>[...d[25]||=[l(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}});export{M as default}; |