tg_web_dist/js/task-list.Dxn5asFJ.js
2025-06-30 19:02:55 +08:00

2 lines
13 KiB
JavaScript

import{aM as e,r as a,ad as t,D as l,b3 as o,bK as s,bL as d,c as i,e as r,N as n,w as u,l as p,m,ag as c,ak as _,O as g,bN as v,t as y,a5 as f,a6 as b,g as F,R as h,bt as k,aY as w,bM as x,aX as D,aZ as C,bo as j}from"./index.UcB8_pFx.js";import{E as L}from"./el-card.Axy4lebE.js";import{_ as V}from"./index.DMVod22f.js";import{E as T}from"./el-text.dEHlAa-K.js";import{_ as z}from"./index.i5rxjEBy.js";import{g as R}from"./template.B6LeRA6u.js";import{g as S}from"./group.DBuRLkFD.js";import{c as U}from"./account.BUyM1Y89.js";/* empty css *//* empty css */import"./index.BzECPkce.js";function q(a){return e({url:"/api/sensitiveWords/detect",method:"post",data:a})}const E={class:"operate"},N=["innerHTML"],O={__name:"task-list",setup(O){let M=[],J=[],H=[];const I=[{label:"待支付",value:"0"},{label:"待审核",value:"1"},{label:"进行中",value:"2"},{label:"审核拒绝",value:"3"},{label:"已完成",value:"4"},{label:"暂停",value:"5"},{label:"已取消",value:"6"}],W=a(!1),B=t({columns:[{prop:"id",label:"ID",width:80,align:"center"},{prop:"title",label:"任务名称",align:"center"},{prop:"temp_name",label:"模板名称",align:"center"},{prop:"temp_type",label:"模板类型",align:"center",slot:"template_type_slot"},{prop:"groups",label:"群组",align:"center",slot:"group_slot"},{prop:"times",label:"频率",align:"center",slot:"times_slot"},{prop:"cycle",label:"周期",align:"center",slot:"cycle_slot"},{prop:"status",label:"状态",align:"center",slot:"status_slot"},{prop:"user_name",label:"创建人",align:"center"},{prop:"created_at",label:"创建时间",align:"center"},{prop:"operate",label:"操作",width:360,align:"center",slot:"operate",fixed:"right"}],tableData:[],searchFields:[{label:"任务名称",prop:"task_name",type:"input",value:""},{label:"模板名称",prop:"temp_name",type:"input",value:""},{label:"状态",prop:"status",type:"select",options:I,value:""},{prop:"created_at",label:"创建时间",type:"date",dateType:"datetimerange",value:[]}],total:0,page:1,per_page:10,loading:!1,countColumns:[{prop:"send_at",label:"执行时间",align:"center"},{prop:"group_name",label:"群组名称",align:"center"},{prop:"reason",label:"失败原因",align:"center"}],taskData:[],addForm:{title:"创建任务",fields:[{label:"任务名称",prop:"title",type:"input",value:""},{label:"选择模板",prop:"temp_id",type:"select",value:"",options:M},{label:"群组",prop:"groups",type:"input",value:"",disabled:!0},{label:"频率",prop:"times",type:"input",value:"",disabled:!0},{label:"周期",prop:"cycle",type:"input",value:"",disabled:!0},{label:"执行方式",prop:"exec_type",type:"select",value:"",options:[{label:"立即执行",value:"1"},{label:"定时执行",value:"0"}]},{label:"开始执行时间",prop:"next_run_time",type:"datetime",value:"",unshow:!0}],rules:{title:[{required:!0,message:"请输入任务名称",trigger:"blur"}],temp_id:[{required:!0,message:"请选择模板",trigger:"change"}],next_run_time:[{required:!1,message:"请输入开始执行时间",trigger:"change"}],exec_type:[{required:!0,message:"请选择执行方式",trigger:"change"}],content:[{required:!0,message:"请输入内容",trigger:"blur"}]},values:{title:"",temp_id:"",groups:"",next_run_time:"",exec_type:"0",content:"",cycle:"",times:"",id:""}},btnLoading:!1,showFormDialog:!1,showViewDialog:!1});l(B.addForm,((e,a)=>{var t;if(""!=e.values.temp_id){let a=null==(t=null==H?void 0:H.find((a=>a.id==e.values.temp_id)))?void 0:t.group_ids,l=J.filter((e=>a.includes(e.value))).map((e=>e.label)).join(", "),o=H.find((a=>a.id==e.values.temp_id)).times+"小时一次",s=H.find((a=>a.id==e.values.temp_id)).cycle+"天";B.addForm.values.groups=l,B.addForm.values.times=o,B.addForm.values.cycle=s}0==e.values.exec_type?(B.addForm.fields[6].unshow=!1,B.addForm.rules.next_run_time[0].required=!0):(B.addForm.fields[6].unshow=!0,B.addForm.rules.next_run_time[0].required=!1)}));const G=()=>{B.searchFields.forEach((e=>{"datetimerange"==e.dateType?e.value=[]:e.value=""})),K()};o((()=>{P(),Z(),setTimeout((()=>{K()}),200)}));const K=()=>{var a;B.loading=!0;let t={per_page:B.per_page,page:B.page},l=function(e){const a={};return e.forEach((e=>{e.prop&&void 0!==e.value&&(a[e.prop]=e.value)})),a}(B.searchFields);(null==(a=l.created_at)?void 0:a.length)>0&&(l.created_at_start=l.created_at[0]?s(l.created_at[0]):"",l.created_at_end=l.created_at[1]?s(l.created_at[1]):""),delete l.created_at,function(a){return e({url:"/api/admin/tasks/list",method:"get",params:a})}(Object.assign(t,l)).then((e=>{B.tableData=e.data,B.total=e.total,B.loading=!1})).catch((()=>{B.loading=!1}))},A=async a=>{C.confirm("确认要删除吗","系统提示",{confirmButtonText:"确认",cancelButtonText:"取消",type:"warning"}).then((()=>{(function(a){return e({url:"/api/admin/tasks/delete",method:"post",data:a})})({id:a.id}).then((e=>{j.success("操作成功"),K()}))}))},Q=a(),X=()=>{B.addForm.values.content=""},Y=()=>{Q.value.hasValid().validate((a=>{if(a){let a={title:B.addForm.values.title,temp_id:B.addForm.values.temp_id,next_run_time:B.addForm.values.next_run_time,content:B.addForm.values.content,exec_type:B.addForm.values.exec_type,id:B.addForm.values.id};if(a.id)q({content:a.content}).then((t=>{(function(a){return e({url:"/api/admin/tasks/edit",method:"post",data:a})})({id:a.id,content:a.content,title:a.title}).then((e=>{j.success("修改成功"),B.showFormDialog=!1,K(),Z()})).finally((()=>[X()]))}));else{if(0==a.exec_type&&""==a.next_run_time){let e=(t=a.next_run_time)?new Date(t).getTime()<=Date.now()?"必须选择当前时间之后的时间":void 0:"请选择时间";return j.error(e)}q({content:a.content}).then((t=>{(function(a){return e({url:"/api/admin/tasks/add",method:"post",data:a})})(a).then((e=>{j.success("创建成功"),B.showFormDialog=!1,K(),Z()})).finally((()=>[X()]))}))}}var t}))},Z=()=>{R({pagination:"off"}).then((e=>{M=[],H=e,e.map((e=>{M.push({label:e.name,value:e.id})})),B.addForm.fields[1].options=M}))},P=async()=>{S({pagination:"off"}).then((e=>{J=[],e.map((e=>{J.push({label:e.tg_name,value:e.id})}))}))},$=e=>{B.addForm.title="确认任务",B.showFormDialog=!0,B.addForm.values.title=e.title,B.addForm.values.temp_id=e.temp_id,B.addForm.values.next_run_time=e.next_run_time,B.addForm.values.content=e.content,B.addForm.values.id=e.id,B.addForm.values.times=e.times,B.addForm.values.cycle=e.cycle,B.addForm.values.status=e.status,B.addForm.values.groups=JSON.parse(e.temp_groups),B.addForm.fields[1].disabled=!0,B.addForm.fields[6].disabled=!0,B.addForm.fields[0].disabled=!0,W.value=!0},ee=k((async a=>{(function(a){return e({url:"/api/admin/tasks/changeStatus",method:"post",data:a})})({id:B.addForm.values.id,status:parseInt(a)}).then((e=>{j.success("操作成功"),B.showFormDialog=!1,K(),W.value=!1})).finally((()=>{}))})),ae=()=>{if(""==B.addForm.values.content)return j.warning("请输入内容");B.showViewDialog=!0},te=(e,a)=>{let t={task_id:e.id,pagination:"off"};U(t).then((e=>{B.taskData=e}))};return(e,a)=>{const t=z,l=T,o=v,s=_,k=V,C=x,j=L,R=D,S=d("click-debounce");return r(),i("div",null,[n(t,{type:"export",columns:F(B).columns,searchFields:F(B).searchFields,"onUpdate:searchFields":a[1]||(a[1]=e=>F(B).searchFields=e),data:F(B).tableData,per_page:F(B).per_page,"onUpdate:per_page":a[2]||(a[2]=e=>F(B).per_page=e),page:F(B).page,"onUpdate:page":a[3]||(a[3]=e=>F(B).page=e),total:F(B).total,onGetTableData:K,onResetForm:G,loading:F(B).loading,showSelection:!1,showRightRefreshSlot:!1,showExpand:!0,onExpandOpen:te},{expand:u((()=>[n(t,{type:"export",columns:F(B).countColumns,data:F(B).taskData,showSelection:!1,showRightRefreshSlot:!1},null,8,["columns","data"])])),template_type_slot:u((({row:e})=>[n(l,null,{default:u((()=>[g(y(1===e.temp_type?"预设模板":"定制模板"),1)])),_:2},1024)])),group_slot:u((({row:e})=>[(r(!0),i(f,null,b(JSON.parse(e.temp_groups),((e,a)=>(r(),m(o,{style:{"margin-right":"4px"},key:a},{default:u((()=>{var a,t;return[g(y(null==(t=null==(a=F(J))?void 0:a.find((a=>a.value===e)))?void 0:t.label),1)]})),_:2},1024)))),128))])),times_slot:u((({row:e})=>[n(l,null,{default:u((()=>[g(y(e.times)+"小时一次",1)])),_:2},1024)])),cycle_slot:u((({row:e})=>[n(l,null,{default:u((()=>[g(y(e.cycle)+"天",1)])),_:2},1024)])),status_slot:u((({row:e})=>[n(o,{type:"warning"},{default:u((()=>{var a;return[g(y(null==(a=null==I?void 0:I.find((a=>a.value==e.status)))?void 0:a.label),1)]})),_:2},1024)])),btns:u((()=>[n(s,{type:"primary",onClick:a[0]||(a[0]=e=>(B.showFormDialog=!0,B.addForm.fields[1].disabled=!1,B.addForm.fields[6].disabled=!1,B.addForm.fields[0].disabled=!1,B.addForm.fields[6].disabled=!1,W.value=!1,void Z()))},{default:u((()=>a[15]||(a[15]=[g(" 创建任务 ")]))),_:1,__:[15]})])),operate:u((({row:e})=>[p("div",E,[0==e.status||1==e.status||3==e.status?(r(),m(s,{key:0,size:"small",type:"primary",onClick:a=>(e=>{B.showFormDialog=!0,B.addForm.values.title=e.title,B.addForm.values.temp_id=e.temp_id,B.addForm.values.next_run_time=e.next_run_time,B.addForm.values.content=e.content,B.addForm.values.id=e.id,B.addForm.values.times=e.times,B.addForm.values.cycle=e.cycle,B.addForm.values.groups=JSON.parse(e.temp_groups),B.addForm.fields[1].disabled=!0,B.addForm.fields[6].disabled=!0,W.value=!1})(e)},{default:u((()=>a[16]||(a[16]=[g(" 编辑 ")]))),_:2,__:[16]},1032,["onClick"])):c("",!0),0==e.status?(r(),m(s,{key:1,size:"small",type:"primary",onClick:a=>$(e)},{default:u((()=>a[17]||(a[17]=[g(" 确认支付 ")]))),_:2,__:[17]},1032,["onClick"])):c("",!0),1==e.status?(r(),m(s,{key:2,size:"small",type:"primary",onClick:a=>$(e)},{default:u((()=>a[18]||(a[18]=[g(" 审核通过 ")]))),_:2,__:[18]},1032,["onClick"])):c("",!0),1==e.status?(r(),m(s,{key:3,size:"small",type:"primary",onClick:a=>$(e)},{default:u((()=>a[19]||(a[19]=[g(" 审核拒绝 ")]))),_:2,__:[19]},1032,["onClick"])):c("",!0),5==e.status?(r(),m(s,{key:4,size:"small",type:"primary",onClick:a=>$(e)},{default:u((()=>a[20]||(a[20]=[g(" 执行任务 ")]))),_:2,__:[20]},1032,["onClick"])):c("",!0),2==e.status?(r(),m(s,{key:5,size:"small",type:"primary",onClick:a=>$(e)},{default:u((()=>a[21]||(a[21]=[g(" 暂停任务 ")]))),_:2,__:[21]},1032,["onClick"])):c("",!0),2==e.status?(r(),m(s,{key:6,size:"small",type:"danger",onClick:a=>$(e)},{default:u((()=>a[22]||(a[22]=[g(" 取消任务 ")]))),_:2,__:[22]},1032,["onClick"])):c("",!0),6==e.status?(r(),m(s,{key:7,size:"small",type:"danger",onClick:a=>A(e)},{default:u((()=>a[23]||(a[23]=[g(" 删除 ")]))),_:2,__:[23]},1032,["onClick"])):c("",!0)])])),_:1},8,["columns","searchFields","data","per_page","page","total","loading"]),n(C,{showDialog:F(B).showFormDialog,"onUpdate:showDialog":a[12]||(a[12]=e=>F(B).showFormDialog=e),formData:F(B).addForm,"onUpdate:formData":a[13]||(a[13]=e=>F(B).addForm=e),ref_key:"addTaskFormRef",ref:Q,labelWidth:"130px",dialogWidth:"800px","destroy-on-close":!0},{txtArea:u((()=>[n(k,{modelValue:F(B).addForm.values.content,"onUpdate:modelValue":a[4]||(a[4]=e=>F(B).addForm.values.content=e),disabled:F(W),"onUpdate:disabled":a[5]||(a[5]=e=>w(W)?W.value=e:null)},null,8,["modelValue","disabled"])])),submit:u((()=>[F(W)?c("",!0):h((r(),m(s,{key:0,type:"primary",loading:F(B).btnLoading},{default:u((()=>a[24]||(a[24]=[g("确定")]))),_:1,__:[24]},8,["loading"])),[[S,Y]]),F(W)?c("",!0):(r(),m(s,{key:1,type:"primary",onClick:ae},{default:u((()=>a[25]||(a[25]=[g("预览")]))),_:1,__:[25]})),0==F(B).addForm.values.status&&F(W)?(r(),m(s,{key:2,type:"primary",loading:F(B).btnLoading,onClick:a[6]||(a[6]=e=>F(ee)("1"))},{default:u((()=>a[26]||(a[26]=[g("确认支付")]))),_:1,__:[26]},8,["loading"])):c("",!0),1==F(B).addForm.values.status&&F(W)?(r(),m(s,{key:3,type:"primary",loading:F(B).btnLoading,onClick:a[7]||(a[7]=e=>F(ee)("2"))},{default:u((()=>a[27]||(a[27]=[g("审核确认")]))),_:1,__:[27]},8,["loading"])):c("",!0),1==F(B).addForm.values.status&&F(W)?(r(),m(s,{key:4,type:"primary",loading:F(B).btnLoading,onClick:a[8]||(a[8]=e=>F(ee)("3"))},{default:u((()=>a[28]||(a[28]=[g("审核拒绝")]))),_:1,__:[28]},8,["loading"])):c("",!0),2==F(B).addForm.values.status&&F(W)?(r(),m(s,{key:5,type:"primary",loading:F(B).btnLoading,onClick:a[9]||(a[9]=e=>F(ee)("5"))},{default:u((()=>a[29]||(a[29]=[g("暂停任务")]))),_:1,__:[29]},8,["loading"])):c("",!0),2==F(B).addForm.values.status&&F(W)?(r(),m(s,{key:6,type:"primary",loading:F(B).btnLoading,onClick:a[10]||(a[10]=e=>F(ee)("6"))},{default:u((()=>a[30]||(a[30]=[g("取消任务")]))),_:1,__:[30]},8,["loading"])):c("",!0),5==F(B).addForm.values.status||6==F(B).addForm.values.status?(r(),m(s,{key:7,type:"primary",loading:F(B).btnLoading,onClick:a[11]||(a[11]=e=>F(ee)("2"))},{default:u((()=>a[31]||(a[31]=[g("执行任务")]))),_:1,__:[31]},8,["loading"])):c("",!0)])),_:1},8,["showDialog","formData"]),n(R,{modelValue:F(B).showViewDialog,"onUpdate:modelValue":a[14]||(a[14]=e=>F(B).showViewDialog=e),title:"内容预览",width:"600"},{default:u((()=>[n(j,null,{default:u((()=>[p("div",{innerHTML:F(B).addForm.values.content},null,8,N)])),_:1})])),_:1},8,["modelValue"])])}}};export{O as default};