| 1 |
- (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-df590242"],{"2f11":function(e,t,s){"use strict";s("529a")},"529a":function(e,t,s){},6133:function(e,t,s){"use strict";s.r(t);s("adc1");var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"system-task"},[t("el-row",{staticClass:"box",attrs:{type:"flex",gutter:10}},[e._l(e.list,(function(s,a){return t("el-col",{key:a},[t("div",{staticClass:"block",class:["_".concat(s.key)]},[t("div",{staticClass:"header"},[t("i",{staticClass:"icon",class:s.icon}),t("span",{staticClass:"label"},[e._v(e._s(s.label))]),t("span",{staticClass:"num"},[e._v("("+e._s(s.pagination.total)+")")]),t("span",{staticClass:"flex1"}),t("ul",{staticClass:"op-btn"},[s.loading?t("li",[t("i",{staticClass:"el-icon-loading"})]):t("li",{directives:[{name:"permission",rawName:"v-permission",value:e.perm.delete,expression:"perm.delete"}],staticClass:"refresh-btn",on:{click:function(t){return e.refreshTask({page:1})}}},[t("i",{staticClass:"el-icon-refresh"}),t("span",[e._v("刷新")])]),t("li",{directives:[{name:"permission",rawName:"v-permission",value:e.perm.add,expression:"perm.add"}],staticClass:"add-btn",on:{click:function(t){return e.edit(s.params)}}},[t("i",{staticClass:"el-icon-plus"}),t("span",[e._v("添加")])])])]),t("div",{staticClass:"container scroller1"},[t("draggable",e._b({attrs:{tag:"ul","data-type":s.params.type,"data-status":s.params.status},on:{end:function(t){return e.onDragEnd(t,s)}},model:{value:e.list[a].list,callback:function(t){e.$set(e.list[a],"list",t)},expression:"list[index].list"}},"draggable",e.drag.options,!1),[e._l(e.list[a].list,(function(s){return t("li",{key:s.id,staticClass:"_drag",attrs:{"data-id":s.id},on:{contextmenu:function(t){return t.stopPropagation(),t.preventDefault(),e.openCM(t,s)}}},[t("div",{staticClass:"h"},[t("span",{directives:[{name:"show",rawName:"v-show",value:0===s.status,expression:"item2.status === 0"}],staticClass:"type _warning"},[e._v(e._s(e._f("task_type")(s.type)))]),t("span",{staticClass:"name"},[e._v(e._s(s.name)+" ")])]),t("div",{staticClass:"remark"},[e._v(e._s(s.remark))]),t("div",{staticClass:"f"},[s.status?[t("span",{staticClass:"date"},[e._v(e._s(s.nextRunTime||"..."))]),t("span",{staticClass:"start"},[e._v("进行中")])]:[t("span",[e._v("...")]),t("span",{staticClass:"stop"},[e._v("已停止")])]],2),t("el-row",{staticClass:"op",attrs:{type:"flex"}},[0===s.status?t("el-col",{nativeOn:{click:function(t){return e.start(s)}}},[t("i",{staticClass:"el-icon-video-play"}),t("span",[e._v("开始")])]):t("el-col",{directives:[{name:"permission",rawName:"v-permission",value:e.perm.stop,expression:"perm.stop"}],nativeOn:{click:function(t){return e.stop(s)}}},[t("i",{staticClass:"el-icon-video-pause"}),t("span",[e._v("暂停")])]),t("el-col",{directives:[{name:"permission",rawName:"v-permission",value:{and:[e.perm.update,e.perm.info]},expression:"{\n\t\t\t\t\t\t\t\t\t\tand: [perm.update, perm.info]\n\t\t\t\t\t\t\t\t\t}"}],nativeOn:{click:function(t){return e.edit(s)}}},[t("i",{staticClass:"el-icon-edit"}),t("span",[e._v("编辑")])]),t("el-col",{directives:[{name:"permission",rawName:"v-permission",value:e.perm.log,expression:"perm.log"}],nativeOn:{click:function(t){return e.findLog(s)}}},[t("i",{staticClass:"el-icon-tickets"}),t("span",[e._v("查看日志")])])],1)],1)})),0==e.list[a].list.length?t("li",[t("div",{staticClass:"empty"},[e._v("暂无数据")])]):e._e()],2),s.pagination.total>=s.pagination.size?t("el-button",{staticClass:"more",attrs:{type:"text",size:"mini"},on:{click:function(t){return e.moreTask(a,s)}}},[e._v("查看更多")]):e._e()],1),t("div",{staticClass:"footer"},[t("button",{directives:[{name:"permission",rawName:"v-permission",value:e.perm.add,expression:"perm.add"}],staticClass:"btn-add",on:{click:function(t){return e.edit(s.params)}}},[t("i",{staticClass:"el-icon-plus"})])])])])})),t("el-col",{directives:[{name:"permission",rawName:"v-permission",value:e.perm.log,expression:"perm.log"}]},[t("div",{staticClass:"block _log"},[t("div",{staticClass:"header"},[t("span",{staticClass:"label"},[e._v("日志")]),t("span",{staticClass:"num"},[e._v("("+e._s(e.logs.pagination.total)+")")]),t("span",{staticClass:"flex1"}),t("el-checkbox-group",{staticClass:"status",on:{change:e.filterLog},model:{value:e.logs.filters.status,callback:function(t){e.$set(e.logs.filters,"status",t)},expression:"logs.filters.status"}},[t("el-checkbox",{attrs:{label:0}},[e._v("异常")])],1),t("ul",{staticClass:"op-btn"},[t("li",{on:{click:function(t){return e.refreshLog({page:1})}}},[t("i",{staticClass:"el-icon-refresh"}),t("span",[e._v("刷新")])]),e.logs.current?t("li",{staticClass:"_current-log",on:{click:e.allLog}},[t("span",[e._v(e._s(e.logs.current.name))]),t("i",{staticClass:"el-icon-close"})]):e._e()])],1),t("div",{directives:[{name:"loading",rawName:"v-loading",value:e.logs.loading,expression:"logs.loading"}],staticClass:"container",attrs:{"element-loading-text":"拼命加载中"}},[t("ul",{directives:[{name:"infinite-scroll",rawName:"v-infinite-scroll",value:e.moreLog,expression:"moreLog"}],staticClass:"_scroller"},[e._l(e.logs.list,(function(s,a){return t("li",{key:a,class:{_error:0==s.status},on:{click:function(t){return e.expandLog(s)}}},[t("div",{staticClass:"h"},[t("span",{staticClass:"name"},[e._v(e._s(a+1)+" · "+e._s(s.taskName))])]),t("div",{staticClass:"remark",class:{_ellipsis:!s._expand}},[e._v(" "+e._s(s.detail||"...")+" ")]),t("div",{staticClass:"f"},[t("span",[e._v("执行时间:"+e._s(s.createTime))])])])})),0==e.logs.list.length?t("li",[t("div",{staticClass:"empty"},[e._v("暂无数据")])]):e._e()],2)])])])],2),t("cl-context-menu",{ref:"context-menu"}),t("x-form",{ref:"x-form"})],1)},i=[],n=s("7c6b"),r=s("b57b"),l=s("1f77"),o=s("8998"),c=(s("bf4e"),s("9b58"),s("d6d8"),s("7464"),s("45d2"),s("557e"),s("8160"),s("9052"),s("dc93"),s("703f"),s("67dc")),p=s.n(c),u=s("c081"),d={name:"system-task",components:{draggable:p.a},data:function(){return{list:[{key:"sys",label:"系统任务",icon:"el-icon-s-tools",list:[],loading:!1,params:{type:0,status:1},pagination:{size:10,page:1,total:0}},{key:"user",label:"用户自定义任务",icon:"el-icon-user-solid",list:[],loading:!1,params:{type:1,status:1},pagination:{size:10,page:1,total:0}},{key:"stop",label:"已停止任务",list:[],loading:!1,params:{type:null,status:0},pagination:{size:10,page:1,total:0}}],logs:{loading:!1,list:[],pagination:{size:10,page:1},params:{},filters:{status:[]},current:null},drag:{options:{group:"Task",animation:300,ghostClass:"Ghost",dragClass:"Drag",draggable:"._drag"}}}},filters:{task_type:function(e){return 0===e?"系统":"用户"}},mounted:function(){this.refreshTask({page:1})},computed:{perm:function(){return this.$service.system.task.permission}},methods:{onDragEnd:function(e){var t=e.to,s=e.item,a=t.getAttribute("data-status"),i=t.getAttribute("data-type"),n=s.getAttribute("data-id");0==a&&this.stop({id:n}),1==a&&this.start({id:n,type:i})},openCM:function(e,t){var s=this,a=t.id,i=t.status,n=t.type,r=t.name,l=[{label:"立即执行",perm:["once"],"suffix-icon":"el-icon-video-play",callback:function(e,t){s.once({id:a}),t()}},{label:"编辑",perm:["update","info"],"suffix-icon":"el-icon-edit",callback:function(e,t){s.edit({id:a,type:n}),t()}},{label:"删除",perm:["_delete"],"suffix-icon":"el-icon-delete",callback:function(e,t){s.delete({id:a}),t()}},{label:"查看日志",perm:["log"],"suffix-icon":"el-icon-tickets",callback:function(e,t){s.findLog({id:a,name:r}),t()}}];return 1==i?l.splice(1,0,{label:"暂停",perm:["stop"],"suffix-icon":"el-icon-video-pause",callback:function(e,t){s.stop({id:a,type:n}),t()}}):l.splice(1,0,{label:"开始",perm:["start"],"suffix-icon":"el-icon-video-play",callback:function(e,t){s.start({id:a,type:n}),t()}}),this.$refs["context-menu"].open(e,{list:l.filter((function(e){return Object(u["checkPerm"])({and:e.perm.map((function(e){return s.perm[e]}))})}))}),!1},edit:function(e){var t=this;return Object(o["a"])(Object(r["a"])().m((function s(){var a,i,n,o,c,p;return Object(r["a"])().w((function(s){while(1)switch(s.n){case 0:if(a=e||{},i=a.id,n=a.type,o={type:n},!i){s.n=2;break}return s.n=1,t.$service.system.task.info({id:i});case 1:o=s.v;case 2:o.every&&(o.every/=1e3),o.limit||(o.limit=void 0),c=!o.taskType,p=t.$refs["x-form"].open({props:{title:"编辑任务",width:"600px","label-width":"80px"},items:[{label:"名称",prop:"name",value:o.name,component:{name:"el-input",attrs:{placeholder:"请输入名称"}},rules:{required:!0,message:"名称不能为空"}},{label:"类型",prop:"taskType",value:o.taskType||0,component:{name:"el-select",options:[{label:"cron",value:0},{label:"时间间隔",value:1}],on:{change:function(e){p.items.map((function(t){"cron"==t.prop&&(t.hidden=0!==e),["limit","every"].includes(t.prop)&&(t.hidden=1!==e,t.value||(p[t.prop]=void 0))}))}}}},{label:"cron",prop:"cron",hidden:!c,value:o.cron,component:{name:"el-input",attrs:{placeholder:"* * * * * *"}},rules:{required:!0,message:"cron不能为空"}},{label:"次数",prop:"limit",value:o.limit,hidden:c,component:{name:"el-input-number",props:{min:1,max:1e4}}},{label:"间隔(秒)",prop:"every",value:o.every,hidden:c,component:{name:"el-input-number",props:{min:1,max:1e8}},rules:{required:!0,message:"执行间隔不能为空"}},{label:"service",prop:"service",value:o.service,component:{name:"el-input",attrs:{placeholder:"sys.test.add(params)"}}},{label:"开始时间",prop:"startDate",value:o.startDate,component:{name:"el-date-picker",props:{type:"datetime"}}},{label:"结束时间",prop:"endDate",value:o.endDate,component:{name:"el-date-picker",props:{type:"datetime"}}},{label:"备注",prop:"remark",value:o.remark,component:{name:"el-input",props:{type:"textarea"}}},{label:"状态",prop:"status",value:0===o.status?0:1,component:{name:"el-radio-group",options:[{label:"停止",value:0},{label:"运行",value:1}]}}],on:{submit:function(e){var s=e.data,a=e.close,n=e.done;s.limit||(s.limit=null),t.$service.system.task[i?"update":"add"](Object(l["a"])(Object(l["a"])(Object(l["a"])({},o),s),{},{every:1e3*s.every})).then((function(){t.refreshTask(),t.$message.success("保存成功"),a()})).catch((function(e){t.$message.error(e),n()}))}}});case 3:return s.a(2)}}),s)})))()},delete:function(e){var t=this,s=e.id;this.$confirm("此操作将永久删除该数据,是否继续?","提示",{type:"warning"}).then((function(){t.$service.system.task.delete({ids:s}).then((function(){t.refreshTask()}))})).catch((function(){}))},start:function(e){var t=this,s=e.id,a=e.type;this.$service.system.task.start({id:s,type:a}).then((function(){t.refreshTask()})).catch((function(e){t.$message.error(e)}))},stop:function(e){var t=this,s=e.id;this.$service.system.task.stop({id:s}).then((function(){t.refreshTask()})).catch((function(e){t.$message.error(e)}))},once:function(e){var t=this,s=e.id;this.$service.system.task.once({id:s}).then((function(){t.refreshTask()})).catch((function(e){t.$message.error(e)}))},expandLog:function(e){this.$set(e,"_expand",!e._expand)},refreshTask:function(e,t){var s=this,a=t||{},i=a.index,n=a.more,c=void 0===i||null===i?this.list.map((function(e,t){return t})):[i];c.forEach(function(){var t=Object(o["a"])(Object(r["a"])().m((function t(a){var i,o;return Object(r["a"])().w((function(t){while(1)switch(t.n){case 0:return i=s.list[a],Object.assign(i.params,Object(l["a"])(Object(l["a"])({},i.pagination),e)),s.$set(i,"loading",!0),t.n=1,s.$service.system.task.page(i.params);case 1:o=t.v,u["utils"].moreList(o,i),n||s.$el.querySelector(".block._".concat(i.key," .container")).scroll(0,0),i.loading=!1;case 2:return t.a(2)}}),t)})));return function(e){return t.apply(this,arguments)}}())},moreTask:function(e){this.refreshTask(null,{index:e,more:!0})},refreshLog:function(e,t){var s=this;return Object(o["a"])(Object(r["a"])().m((function a(){var i,n,o,c,p,d;return Object(r["a"])().w((function(a){while(1)switch(a.n){case 0:if(!s.logs.loading){a.n=1;break}return a.a(2,!1);case 1:if(Object(u["checkPerm"])(s.perm.log)){a.n=2;break}return a.a(2,!1);case 2:return i=s.logs,n=i.params,o=i.pagination,c=t||{},p=c.more,Object.assign(n,Object(l["a"])(Object(l["a"])({},o),e)),s.logs.loading=!0,a.n=3,s.$service.system.task.log(n);case 3:d=a.v,u["utils"].moreList(d,s.logs),p||s.$el.querySelector(".block._log .container ul").scroll(0,0),s.logs.loading=!1;case 4:return a.a(2)}}),a)})))()},moreLog:function(){this.refreshLog(null,{more:!0})},findLog:function(e){this.logs.current=e,this.refreshLog({page:1,id:e.id})},allLog:function(){this.logs.current=null,this.refreshLog({page:1,id:null})},filterLog:function(e){var t=Object(n["a"])(e,1),s=t[0];this.refreshLog({page:1,status:void 0===s?1:0})}}},m=d,f=(s("2f11"),s("1805")),v=Object(f["a"])(m,a,i,!1,null,"30669648",null);t["default"]=v.exports}}]);
|