1import{G as F}from"./B8GfTJIh.js";import{G as ie}from"./DB_JrYOs.js";import{_ as ue}from"./SypvEzTk.js";import{G as re}from"./Dr5LZDZS.js";import{f as de,g as me,h as ve,c as d,a as t,G as w,H as z,i as a,I as be,J as O,E as p,b as H,d as L,t as g,k as h,V as ce,F as q,s as W,n as P,r as o,W as pe,X as ge,Y as xe,Z as ye,o as m,v as fe,l as n,$ as je,a0 as we,_ as ke}from"./BIa-rvUl.js";import"./D-rfyR7C.js";import"./wj2zYrbi.js";import"./DVRxrgot.js";const Ce={class:"gw-filter-box"},Se={class:"flex gap-2 ml-auto"},Ne=["disabled"],$e=["disabled"],Ee=["disabled"],Ve={key:0,class:"gw-card mb-4"},ze={class:"text-xs",style:{color:"var(--gw-text-muted)"}},Te={class:"gw-card job-modal"},Ge={class:"job-modal-head"},Me=["value"],Ue={class:"job-cron-presets"},Je=["onClick"],De={class:"job-status-options"},he={key:2,class:"job-modal-error"},Ae={class:"job-modal-actions"},Ke=["disabled"],Oe={class:"gw-card job-modal job-modal--narrow"},Pe={class:"job-modal-head"},Re={class:"job-modal-text"},Ie={class:"job-modal-actions"},Be=["disabled"],Fe=de({__name:"jobs",setup(He){const{showToast:x}=me(),k=o(!1),A=o(!0),R=o(""),I=o([]),B=o(0),b=o(1),K=o(20),T=o(""),C=o("all"),M=o([]),X=[{label:"æ¯å¤© 10:00",value:"0 0 10 * * ?"},{label:"æ¯å¤© 09:00",value:"0 0 9 * * ?"},{label:"æ¯å°æ¶æ´ç¹",value:"0 0 * * * ?"},{label:"æ¯ 10 åé",value:"0 0/10 * * * ?"}];async function u(l){b.value=Math.max(1,l),k.value=!0;try{const e=C.value==="all"?void 0:Number(C.value),i=await pe({page_no:b.value,page_size:K.value,keyword:T.value.trim()||void 0,status:e});A.value=i.available,R.value=i.message||"",I.value=i.data?.lists||[],B.value=i.data?.count??0}finally{k.value=!1}}async function Y(){try{M.value=await ge()}catch{}}function Z(){C.value="all",T.value="",u(1)}const y=o(!1),U=o(!1),S=o(null),f=o(""),r=o(""),v=o("0 0 10 * * ?"),N=o(""),$=o(""),j=o(0),c=o(""),Q=fe(()=>S.value===null?"æ°å¢ä»»å¡":"ç¼è¾ä»»å¡");function _(){S.value=null,f.value="",r.value=M.value[0]||"",v.value="0 0 10 * * ?",N.value="",$.value="",j.value=0,c.value="",y.value=!0}function ee(l){S.value=l.id,f.value=l.jobName,r.value=l.jobKey,v.value=l.cronExpression,N.value=l.jobParams,$.value=l.remark,j.value=l.status,c.value="",y.value=!0}async function te(){if(c.value="",!f.value.trim()||!r.value.trim()||!v.value.trim()){c.value="ä»»å¡åç§°ã任塿 è¯ãcron 表达å¼é½ä¸è½ä¸ºç©º";return}const l=N.value.trim();if(l)try{JSON.parse(l)}catch{c.value='ä»»å¡åæ°å¿
é¡»æ¯åæ³ JSONï¼ä¾å¦ {"limit":200}';return}U.value=!0;try{await xe({id:S.value??void 0,jobName:f.value.trim(),jobKey:r.value.trim(),cronExpression:v.value.trim(),jobParams:l||void 0,remark:$.value.trim()||void 0,status:j.value}),x(S.value===null?"ä»»å¡å·²å建":"ä»»å¡å·²ä¿å","success"),y.value=!1,u(S.value===null?1:b.value)}catch(e){c.value=e?.msg||"ä¿å失败"}finally{U.value=!1}}const G=o(null);async function le(l){const e=l.status===1?0:1;G.value=l.id;try{await we({id:l.id,status:e}),x(e===1?`å·²å¼å¯ã${l.jobName}ã`:`å·²å
³éã${l.jobName}ã`,"success"),u(b.value)}catch(i){x(i?.msg||"æä½å¤±è´¥","error")}finally{G.value=null}}async function se(l){G.value=l.id;try{await je({id:l.id}),x(`已触åã${l.jobName}ãï¼æ§è¡ç»æç¨åæ¾ç¤ºå¨ãæè¿æ§è¡ã`,"success"),setTimeout(()=>u(b.value),2500)}catch(e){x(e?.msg||"触å失败","error")}finally{G.value=null}}const E=o(!1),J=o(null),D=o(!1);function ae(l){J.value=l,E.value=!0}async function oe(){if(J.value){D.value=!0;try{await ye({id:J.value.id}),x("ä»»å¡å·²å é¤","success"),E.value=!1,u(b.value)}catch(l){x(l?.msg||"å é¤å¤±è´¥","error")}finally{D.value=!1}}}ve(()=>{u(1),Y()});const ne=[{id:"jobName",header:"ä»»å¡åç§°",size:200,cell:({row:l})=>{const e=l.original;return n("div",{class:"text-sm"},[n("div",{class:"font-semibold",style:"color: var(--gw-text-main);"},e.jobName||"-"),n("div",{class:"text-xs font-mono",style:"color: var(--gw-text-muted);"},e.jobKey||"-"),e.handlerMissing?n("div",{class:"text-xs mt-1",style:"color: var(--gw-danger, #D6564A);"},"åç«¯æ æ¤ä»»å¡å®ç°ï¼æ æ³æ§è¡"):null])}},{id:"cron",header:"æ§è¡æ¶é´(cron)",size:150,cell:({row:l})=>n("span",{class:"text-sm font-mono",style:"color: var(--gw-text-main);",title:"Spring 6 ä½è¡¨è¾¾å¼ï¼ç§ å æ¶ æ¥ æ å¨"},l.original.cronExpression||"-")},{id:"params",header:"ä»»å¡åæ°",size:200,cell:({row:l})=>
1{const e=l.original.jobParams;return e?n("span",{class:"text-xs font-mono job-params",style:"color: var(--gw-text-muted);",title:e},e):n("span",{class:"text-sm",style:"color: var(--gw-text-hint);"},"-")}},{id:"execCount",header:()=>n("span",{title:"ä»»å¡ç´¯è®¡æ§è¡æ¬¡æ°ï¼å«æå¨ç«å³æ§è¡ï¼ï¼ç±å端累å "},"æ§è¡æ¬¡æ°"),size:100,cell:({row:l})=>n("span",{class:"text-sm",style:"color: var(--gw-text-main);"},String(l.original.execCount??0))},{id:"lastExec",header:"æè¿æ§è¡",size:220,cell:({row:l})=>{const e=l.original;if(!e.lastExecTime)return n("span",{class:"text-sm",style:"color: var(--gw-text-hint);"},"仿ªæ§è¡");const i=e.lastExecStatus===1;return n("div",[n("div",{class:"flex items-center gap-2"},[n(F,{label:i?"æå":"失败",tone:i?"success":"danger",dot:!1}),n("span",{class:"text-xs",style:"color: var(--gw-text-muted);"},e.lastExecTime)]),e.lastExecMsg?n("div",{class:"text-xs mt-1 job-exec-msg",style:"color: var(--gw-text-muted);",title:e.lastExecMsg},e.lastExecMsg):null])}},{id:"status",header:"ç¶æ",size:90,cell:({row:l})=>n(F,{label:l.original.status===1?"å¼å¯":"å
³é",tone:l.original.status===1?"success":"neutral"})},{id:"remark",header:"夿³¨",size:200,cell:({row:l})=>{const e=l.original.remark;return e?n("span",{class:"text-xs job-remark",style:"color: var(--gw-text-muted);",title:e},e):n("span",{class:"text-sm",style:"color: var(--gw-text-hint);"},"-")}},{id:"actions",header:"æä½",size:260,cell:({row:l})=>{const e=l.original,i=G.value===e.id;return n(ie,{compact:!0,actions:[{key:"run",label:"ç«å³æ§è¡",tone:"primary",disabled:i||e.handlerMissing,title:e.handlerMissing?"å端没æè¿ä¸ªä»»å¡çå®ç°ï¼æ æ³æ§è¡":"æå¨è§¦å䏿¬¡ï¼åå°å¼æ¥æ§è¡ï¼"},{key:"toggle",label:e.status===1?"å
³é":"å¼å¯",tone:"neutral",disabled:i},{key:"edit",label:"ç¼è¾",tone:"neutral",disabled:i},{key:"delete",label:"å é¤",tone:"danger",disabled:i}],onSelect:V=>{V.key==="run"?se(e):V.key==="toggle"?le(e):V.key==="edit"?ee(e):V.key==="delete"&&ae(e)}})}}];return(l,e)=>{const i=ue,V=re;return m(),d("div",null,[t("div",{class:"flex justify-between items-start mb-1 gap-4"},[e[22]||(e[22]=t("div",null,[t("h3",{class:"text-2xl font-bold mb-1 tracking-tight",style:{color:"var(--gw-title)"}}," ä»»å¡ç®¡ç "),t("p",{class:"text-xs",style:{color:"var(--gw-text-muted)"}}," åå°å®æ¶ä»»å¡çå¼å
³ä¸æå·¥è§¦åãæ¹å¨å³å»çæï¼ä¸éè¦é坿å¡ï¼cron ç¨ Spring 6 ä½è¡¨è¾¾å¼ï¼ç§ å æ¶ æ¥ æ å¨ï¼ã ")],-1)),t("button",{class:"gw-btn gw-btn-primary text-xs py-1.5 px-3 shrink-0",onClick:_}," æ°å¢ä»»å¡ ")]),t("div",Ce,[w(t("input",{"onUpdate:modelValue":e[0]||(e[0]=s=>p(T)?T.value=s:null),placeholder:"æç´¢ ä»»å¡åç§° / æ è¯ / 夿³¨",onKeydown:e[1]||(e[1]=be(O(s=>u(1),["prevent"]),["enter"]))},null,544),[[z,a(T)]]),H(i,{modelValue:a(C),"onUpdate:modelValue":[e[2]||(e[2]=s=>p(C)?C.value=s:null),e[3]||(e[3]=s=>u(1))],class:"gw-filter-select",items:[{label:"å
¨é¨ç¶æ",value:"all"},{label:"å¼å¯",value:"1"},{label:"å
³é",value:"0"}]},null,8,["modelValue"]),t("div",Se,[t("button",{class:"gw-btn gw-btn-primary text-xs py-1.5 px-3",disabled:a(k),onClick:e[4]||(e[4]=s=>u(1))}," æç´¢ ",8,Ne),t("button",{class:"gw-btn gw-btn-ghost text-xs py-1.5 px-3",disabled:a(k),onClick:Z}," éç½® ",8,$e),t("button",{class:"gw-btn gw-btn-ghost text-xs py-1.5 px-3",disabled:a(k),onClick:e[5]||(e[5]=s=>u(a(b)))}," å·æ° ",8,Ee)])]),a(A)?h("",!0):(m(),d("div",Ve,[e[25]||(e[25]=t("div",{class:"text-sm font-semibold mb-1",style:{color:"var(--gw-text-main)"}}," ä»»å¡å表æ¥å£æä¸å¯ç¨ ",-1)),t("div",ze,[L(" GET /api/admin/job/list è¿åå¼å¸¸ï¼"+g(a(R)||"æ è¿å")+"ãè¥å端已é¨ç½²ï¼è¯·ç¡®è®¤ ",1),e[23]||(e[23]=t("code",null,"t_front_job.sql",-1)),e[24]||(e[24]=L(" å·²å¨ finder åºæ§è¡ã ",-1))])])),H(V,{columns:ne,data:a(I),loading:a(k),total:a(B),page:a(b),"page-size":a(K),"row-key":"id","min-width":"1280px","empty-title":"ææ ä»»å¡","empty-description":a(A)?"ç¹å³ä¸è§ãæ°å¢ä»»å¡ãåå»ºä¸æ¡":"çå¾
任塿¥å£æ¯æ","onUpdate:page":e[6]||(e[6]=s=>
1u(s)),"onUpdate:pageSize":e[7]||(e[7]=s=>{K.value=s,u(1)})},null,8,["data","loading","total","page","page-size","empty-description"]),a(y)?(m(),d("div",{key:1,class:"job-modal-mask",onClick:e[18]||(e[18]=O(s=>y.value=!1,["self"]))},[t("div",Te,[t("div",Ge,[t("h4",null,g(a(Q)),1),t("button",{class:"job-modal-close",onClick:e[8]||(e[8]=s=>y.value=!1)}," â ")]),e[26]||(e[26]=t("label",{class:"job-modal-label"},"ä»»å¡åç§°",-1)),w(t("input",{"onUpdate:modelValue":e[9]||(e[9]=s=>p(f)?f.value=s:null),class:"job-modal-input",placeholder:"ä¾å¦ï¼æ³¨åæªç»å½ç¨æ·çä¿¡æé",maxlength:"64"},null,512),[[z,a(f)]]),e[27]||(e[27]=t("label",{class:"job-modal-label"},"任塿 è¯",-1)),a(M).length?w((m(),d("select",{key:0,"onUpdate:modelValue":e[10]||(e[10]=s=>p(r)?r.value=s:null),class:"job-modal-input"},[(m(!0),d(q,null,W(a(M),s=>(m(),d("option",{key:s,value:s},g(s),9,Me))),128))],512)),[[ce,a(r)]]):w((m(),d("input",{key:1,"onUpdate:modelValue":e[11]||(e[11]=s=>p(r)?r.value=s:null),class:"job-modal-input",placeholder:"å端å¤ç卿 è¯ï¼å¦ inactiveUserSms",maxlength:"64"},null,512)),[[z,a(r)]]),e[28]||(e[28]=t("p",{class:"job-modal-hint"}," å³å®è¿æ¡ä»»å¡è·åªæ®µå端代ç ï¼å弿¥èªå端已å®ç°çå¤ç卿¸
åã ",-1)),e[29]||(e[29]=t("label",{class:"job-modal-label"},"æ§è¡æ¶é´ï¼cronï¼",-1)),w(t("input",{"onUpdate:modelValue":e[12]||(e[12]=s=>p(v)?v.value=s:null),class:"job-modal-input font-mono",placeholder:"0 0 10 * * ?",maxlength:"64"},null,512),[[z,a(v)]]),t("div",Ue,[(m(),d(q,null,W(X,s=>t("button",{key:s.value,class:P(["job-chip",{active:a(v)===s.value}]),type:"button",onClick:Le=>v.value=s.value},g(s.label),11,Je)),64))]),e[30]||(e[30]=t("p",{class:"job-modal-hint"}," 6 ä½ï¼ç§ å æ¶ æ¥ æ å¨ã注æä¸æ¯ Linux crontab ç 5 ä½åæ³ã ",-1)),e[31]||(e[31]=t("label",{class:"job-modal-label"},"ä»»å¡åæ°ï¼å¯éï¼JSONï¼",-1)),w(t("textarea",{"onUpdate:modelValue":e[13]||(e[13]=s=>p(N)?N.value=s:null),class:"job-modal-textarea font-mono",rows:"3",placeholder:'{"hours":48,"recentDays":7,"limit":200}'},null,512),[[z,a(N)]]),e[32]||(e[32]=t("p",{class:"job-modal-hint"}," ç±è¯¥ä»»å¡èªå·±è§£éãçä¿¡æé任塿¯æï¼hoursï¼æ³¨å满å å°æ¶ï¼ãrecentDaysï¼åªçæè¿å 天注åçï¼ãlimitï¼å次ä¸éï¼ãtemplateIdãvarsã ",-1)),e[33]||(e[33]=t("label",{class:"job-modal-label"},"夿³¨ï¼å¯éï¼",-1)),w(t("textarea",{"onUpdate:modelValue":e[14]||(e[14]=s=>p($)?$.value=s:null),class:"job-modal-textarea",rows:"2",placeholder:"è¿æ¡ä»»å¡æ¯å¹²ä»ä¹çãè°å¨ç¨"},null,512),[[z,a($)]]),e[34]||(e[34]=t("label",{class:"job-modal-label"},"ç¶æ",-1)),t("div",De,[t("button",{class:P(["job-chip",{active:a(j)===1}]),type:"button",onClick:e[15]||(e[15]=s=>j.value=1)}," å¼å¯ ",2),t("button",{class:P(["job-chip",{active:a(j)===0}]),type:"button",onClick:e[16]||(e[16]=s=>j.value=0)}," å
³é ",2)]),a(c)?(m(),d("p",he,g(a(c)),1)):h("",!0),t("div",Ae,[t("button",{class:"gw-btn gw-btn-ghost text-xs py-1.5 px-4",onClick:e[17]||(e[17]=s=>y.value=!1)}," åæ¶ "),t("button",{class:"gw-btn gw-btn-primary text-xs py-1.5 px-4",disabled:a(U),onClick:te},g(a(U)?"ä¿åä¸â¦":"ä¿å"),9,Ke)])])])):h("",!0),a(E)?(m(),d("div",{key:2,class:"job-modal-mask",onClick:e[21]||(e[21]=O(s=>E.value=!1,["self"]))},[t("div",Oe,[t("div",Pe,[e[35]||(e[35]=t("h4",null,"å é¤ä»»å¡",-1)),t("button",{class:"job-modal-close",onClick:e[19]||(e[19]=s=>E.value=!1)}," â ")]),t("p",Re," ç¡®å®å é¤ã"+g(a(J)?.jobName)+"ãï¼å é¤å该任å¡ç«å³åæ¢è°åº¦ï¼ä¸ä¸å¯æ¢å¤ã ",1),t("div",Ie,[t("button",{class:"gw-btn gw-btn-ghost text-xs py-1.5 px-4",onClick:e[20]||(e[20]=s=>E.value=!1)}," åæ¶ "),t("button",{class:"gw-btn gw-btn-primary text-xs py-1.5 px-4",disabled:a(D),onClick:oe},g(a(D)?"å é¤ä¸â¦":"ç¡®å®å é¤"),9,Be)])])])):h("",!0)])}}}),tt=ke(Fe,[["__scopeId","data-v-dc165117"]]);export{tt as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.