selenium_keyan/selenium_vue/frontend-vite/dist/assets/Tasks-D-FwDMhz.js

6 lines
13 KiB
JavaScript
Raw Normal View History

import{_ as te,r as n,o as se,c as le,a as m,b as v,d as t,e as V,w as u,f as A,n as L,v as N,g as x,t as r,F as ae,h as ne,i as ie,j as W,T as oe,k as de,l as ue,m as re,p as U,q as ce,s as ve}from"./index-OjjizwQb.js";import{a as w}from"./client-CSdq-1hH.js";const pe="/assets/images/nodata/task-guide.svg",fe={class:"content"},me={class:"filter"},ge={class:"filter-left"},be={class:"search-section"},ye=["disabled"],xe={class:"guide-section"},we={class:"cards"},he=["onClick"],_e={style:{display:"flex","align-items":"center","justify-content":"space-between",gap:"8px"}},ke={style:{"font-weight":"700",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap","max-width":"70%"}},Ce={style:{color:"#6b7280","margin-top":"4px","font-size":"12px"}},$e={style:{color:"#374151","margin-top":"8px",flex:"1",overflow:"auto","font-size":"13px"}},Te={style:{color:"#6b7280","margin-top":"6px","font-size":"12px"}},Ie=["disabled","onClick"],Se=["onClick"],Ve=["onClick"],De={key:0,class:"modal-backdrop"},ze={class:"panel modal-panel"},je={class:"modal-header"},Ee={class:"title"},Le={class:"row",style:{"margin-top":"10px"}},Ne={class:"row single",style:{"margin-top":"8px"}},Ue={style:{"margin-top":"12px"}},Me={class:"schedule-buttons"},Be={key:0,class:"row single"},Re={key:1,class:"row single"},qe={class:"row actions-row"},Fe={class:"limit-field"},Pe={class:"parsing"},Ae={class:"switch"},We={class:"actions"},Ge=["disabled"],He={key:0,class:"form-error"},Je={__name:"Tasks",setup(Ke){const D=n(!1),h=n(""),_=n(""),k=n(""),o=n(""),c=n(""),g=n(""),C=n(!0),b=n(""),z=n(!1),T=n(null),j=n(!1),M=n(null),E=n([]),I=n(""),p=n(null),y=n(new Set),S=n(localStorage.getItem("showTaskList")==="true");function B(s){return s==="done"}function G(s){return s==="idle"}function H(s){if(s.execution_type==="predefined"&&s.execution_time){const e=String(s.execution_time).replace("T"," "),a=e.match(/^(\d{4}-\d{2}-\d{2})[ T](\d{2}:\d{2})/);return a?`预定时间:${a[1]} ${a[2]}`:`预定时间:${e}`}return s.execution_type==="scheduled"&&s.scheduled_time?`定期时间:${String(s.scheduled_time).slice(0,5)}`:"-"}function J(s){const e={running:"#dbeafe",pending:"#f1f5f9",completed:"#dcfce7",done:"#dcfce7",success:"#dcfce7",failed:"#fee2e2",error:"#fee2e2"},a={running:"#1d4ed8",pending:"#6b7280",completed:"#16a34a",done:"#16a34a",success:"#16a34a",failed:"#dc2626",error:"#dc2626"},l=e[s]||"#f1f5f9",i=a[s]||"#6b7280";return{background:l,color:i,padding:"4px 10px",borderRadius:"999px",fontWeight:"600",fontSize:"12px"}}function K(s){return{running:"运行中",idle:"空闲中",done:"完成",failed:"失败",pending:"等待中",completed:"已完成",success:"成功",error:"错误"}[s]||s||"未知"}async function $(){var s,e;j.value=!0,M.value=null;try{const a={page:1,page_size:100};I.value.trim()&&(a.search=I.value.trim());const{data:l}=await w.get("/api/tasks/",{params:a}),i=l.results||[];E.value=i.slice().sort((d,f)=>(d.id||0)-(f.id||0))}catch(a){M.value=((e=(s=a==null?void 0:a.response)==null?void 0:s.data)==null?void 0:e.message)||a.message||"获取任务失败"}finally{j.value=!1}}function R(){p.value=null,h.value="",_.value="",k.value="",c.value="",g.value="",C.value=!0,o.value="",b.value="",D.value=!0}function q(){D.value=!1,p.value=null}async function O(){var s,e;if(T.value=null,!h.value.trim()||!_.value.trim()||!k.value.trim()){T.value="请填写任务ID、名称与描述";return}z.value=!0;try{const a={task_id:h.value,name:_.value,description:k.value,execution_type:o.value||null,parse_flag:!!C.value,status:"idle"};if(b.value&&b.value>0&&(a.limit=parseInt(b.value)),o.value==="predefined"){if(!c.value)throw new Error("请选择预定执行时间");const l=new Date(c.value);if(isNaN(l.getTime())||l.getTime()<=Date.now())throw new Error("预定时间必须大于当前时间");a.execution_time=c.value,delete a.scheduled_time}else if(o.value==="scheduled"){if(!g.value)throw new Error("请选择定期执行时间");a.scheduled_time=g.value,delete a.execution_time}else delete a.scheduled_time,delete a.execution_time;p.value?await w.put(`/api/tasks/${p.value.id}/
任务目标和预期结果
需要处理的数据或内容
执行步骤和注意事项
相关的技术要求和限制`,style:{"min-height":"120px",resize:"vertical"}},null,512),[[x,k.value]])])]),t("div",Ue,[e[28]||(e[28]=t("label",null,"定时策略(可选)",-1)),t("div",Me,[t("button",{class:L(["btn secondary",{active:o.value==="predefined"}]),onClick:e[5]||(e[5]=l=>o.value="predefined")},"预定时间执行",2),t("button",{class:L(["btn secondary",{active:o.value==="scheduled"}]),onClick:e[6]||(e[6]=l=>o.value="scheduled")},"每天定期执行",2),t("button",{class:L(["btn secondary",{active:o.value===""}]),onClick:e[7]||(e[7]=l=>o.value="")},"无定时",2)]),ie(oe,{name:"fade",mode:"out-in"},{default:W(()=>[(v(),m("div",{key:o.value,class:"schedule-content"},[o.value==="predefined"?(v(),m("div",Be,[e[26]||(e[26]=t("label",null,"预定执行时间",-1)),u(t("input",{type:"datetime-local","onUpdate:modelValue":e[8]||(e[8]=l=>c.value=l),class:"custom-datetime",onClick:e[9]||(e[9]=U(()=>{},["stop"]))},null,512),[[x,c.value]])])):o.value==="scheduled"?(v(),m("div",Re,[e[27]||(e[27]=t("label",null,"定期执行时间",-1)),u(t("input",{type:"time","onUpdate:modelValue":e[10]||(e[10]=l=>g.value=l),class:"custom-time",onClick:e[11]||(e[11]=U(()=>{},["stop"]))},null,512),[[x,g.value]])])):V("",!0)]))]),_:1})]),t("div",qe,[t("div",Fe,[e[29]||(e[29]=t("label",null,"获取条数(可选)",-1)),u(t("input",{type:"number","onUpdate:modelValue":e[12]||(e[12]=l=>b.value=l),placeholder:"如10",min:"1"},null,512),[[x,b.value]])]),t("div",Pe,[e[31]||(e[31]=t("label",null,"解析功能",-1)),t("label",Ae,[u(t("input",{type:"checkbox","onUpdate:modelValue":e[13]||(e[13]=l=>C.value=l)},null,512),[[de,C.value]]),e[30]||(e[30]=t("span",{class:"track"},[t("span",{class:"thumb"})],-1)),t("span",null,r(C.value?"开启":"关闭"),1)])]),t("div",We,[t("button",{class:"btn",disabled:z.value,onClick:O},r(z.value?p.value?"更新中...":"创建中...":p.value?"确认更新":"确认创建"),9,Ge)])]),T.value?(v(),m("div",He,r(T.value),1)):V("",!0)])])):V("",!0)])}}},Xe=te(Je,[["__scopeId","data-v-7b067afc"]]);export{Xe as default};