chunk-0ddc6658.25cc4f7c.js 13 KB

1
  1. (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-0ddc6658"],{6133:function(e,t,s){"use strict";s.r(t);var a=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"system-task"},[s("el-row",{staticClass:"box",attrs:{type:"flex",gutter:10}},[e._l(e.list,(function(t,a){return s("el-col",{key:a},[s("div",{staticClass:"block",class:["_"+t.key]},[s("div",{staticClass:"header"},[s("i",{staticClass:"icon",class:t.icon}),s("span",{staticClass:"label"},[e._v(e._s(t.label))]),s("span",{staticClass:"num"},[e._v("("+e._s(t.pagination.total)+")")]),s("span",{staticClass:"flex1"}),s("ul",{staticClass:"op-btn"},[t.loading?s("li",[s("i",{staticClass:"el-icon-loading"})]):s("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})}}},[s("i",{staticClass:"el-icon-refresh"}),s("span",[e._v("刷新")])]),s("li",{directives:[{name:"permission",rawName:"v-permission",value:e.perm.add,expression:"perm.add"}],staticClass:"add-btn",on:{click:function(s){return e.edit(t.params)}}},[s("i",{staticClass:"el-icon-plus"}),s("span",[e._v("添加")])])])]),s("div",{staticClass:"container scroller1"},[s("draggable",e._b({attrs:{tag:"ul","data-type":t.params.type,"data-status":t.params.status},on:{end:function(s){return e.onDragEnd(s,t)}},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(t){return s("li",{key:t.id,staticClass:"_drag",attrs:{"data-id":t.id},on:{contextmenu:function(s){return s.stopPropagation(),s.preventDefault(),e.openCM(s,t)}}},[s("div",{staticClass:"h"},[s("span",{directives:[{name:"show",rawName:"v-show",value:0===t.status,expression:"item2.status === 0"}],staticClass:"type _warning"},[e._v(e._s(e._f("task_type")(t.type)))]),s("span",{staticClass:"name"},[e._v(e._s(t.name)+" ")])]),s("div",{staticClass:"remark"},[e._v(e._s(t.remark))]),s("div",{staticClass:"f"},[t.status?[s("span",{staticClass:"date"},[e._v(e._s(t.nextRunTime||"..."))]),s("span",{staticClass:"start"},[e._v("进行中")])]:[s("span",[e._v("...")]),s("span",{staticClass:"stop"},[e._v("已停止")])]],2),s("el-row",{staticClass:"op",attrs:{type:"flex"}},[0===t.status?s("el-col",{nativeOn:{click:function(s){return e.start(t)}}},[s("i",{staticClass:"el-icon-video-play"}),s("span",[e._v("开始")])]):s("el-col",{directives:[{name:"permission",rawName:"v-permission",value:e.perm.stop,expression:"perm.stop"}],nativeOn:{click:function(s){return e.stop(t)}}},[s("i",{staticClass:"el-icon-video-pause"}),s("span",[e._v("暂停")])]),s("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(s){return e.edit(t)}}},[s("i",{staticClass:"el-icon-edit"}),s("span",[e._v("编辑")])]),s("el-col",{directives:[{name:"permission",rawName:"v-permission",value:e.perm.log,expression:"perm.log"}],nativeOn:{click:function(s){return e.findLog(t)}}},[s("i",{staticClass:"el-icon-tickets"}),s("span",[e._v("查看日志")])])],1)],1)})),0==e.list[a].list.length?s("li",[s("div",{staticClass:"empty"},[e._v("暂无数据")])]):e._e()],2),t.pagination.total>=t.pagination.size?s("el-button",{staticClass:"more",attrs:{type:"text",size:"mini"},on:{click:function(s){return e.moreTask(a,t)}}},[e._v("查看更多")]):e._e()],1),s("div",{staticClass:"footer"},[s("button",{directives:[{name:"permission",rawName:"v-permission",value:e.perm.add,expression:"perm.add"}],staticClass:"btn-add",on:{click:function(s){return e.edit(t.params)}}},[s("i",{staticClass:"el-icon-plus"})])])])])})),s("el-col",{directives:[{name:"permission",rawName:"v-permission",value:e.perm.log,expression:"perm.log"}]},[s("div",{staticClass:"block _log"},[s("div",{staticClass:"header"},[s("span",{staticClass:"label"},[e._v("日志")]),s("span",{staticClass:"num"},[e._v("("+e._s(e.logs.pagination.total)+")")]),s("span",{staticClass:"flex1"}),s("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"}},[s("el-checkbox",{attrs:{label:0}},[e._v("异常")])],1),s("ul",{staticClass:"op-btn"},[s("li",{on:{click:function(t){return e.refreshLog({page:1})}}},[s("i",{staticClass:"el-icon-refresh"}),s("span",[e._v("刷新")])]),e.logs.current?s("li",{staticClass:"_current-log",on:{click:e.allLog}},[s("span",[e._v(e._s(e.logs.current.name))]),s("i",{staticClass:"el-icon-close"})]):e._e()])],1),s("div",{directives:[{name:"loading",rawName:"v-loading",value:e.logs.loading,expression:"logs.loading"}],staticClass:"container",attrs:{"element-loading-text":"拼命加载中"}},[s("ul",{directives:[{name:"infinite-scroll",rawName:"v-infinite-scroll",value:e.moreLog,expression:"moreLog"}],staticClass:"_scroller"},[e._l(e.logs.list,(function(t,a){return s("li",{key:a,class:{_error:0==t.status},on:{click:function(s){return e.expandLog(t)}}},[s("div",{staticClass:"h"},[s("span",{staticClass:"name"},[e._v(e._s(a+1)+" · "+e._s(t.taskName))])]),s("div",{staticClass:"remark",class:{_ellipsis:!t._expand}},[e._v(" "+e._s(t.detail||"...")+" ")]),s("div",{staticClass:"f"},[s("span",[e._v("执行时间:"+e._s(t.createTime))])])])})),0==e.logs.list.length?s("li",[s("div",{staticClass:"empty"},[e._v("暂无数据")])]):e._e()],2)])])])],2),s("cl-context-menu",{ref:"context-menu"}),s("x-form",{ref:"x-form"})],1)},i=[],n=s("0d11"),r=s("6abc"),l=s("60b5"),o=(s("6a61"),s("1d43"),s("bf2f"),s("e3b5"),s("3337"),s("b3b0"),s("3bae"),s("3335")),c=s.n(o),p=s("c081"),u={name:"system-task",components:{draggable:c.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(p["checkPerm"])({and:e.perm.map((function(e){return s.perm[e]}))})}))}),!1},edit:function(e){var t=this;return Object(l["a"])(regeneratorRuntime.mark((function s(){var a,i,n,l,o,c;return regeneratorRuntime.wrap((function(s){while(1)switch(s.prev=s.next){case 0:if(a=e||{},i=a.id,n=a.type,l={type:n},!i){s.next=6;break}return s.next=5,t.$service.system.task.info({id:i});case 5:l=s.sent;case 6:l.every&&(l.every/=1e3),l.limit||(l.limit=void 0),o=!l.taskType,c=t.$refs["x-form"].open({props:{title:"编辑任务",width:"600px","label-width":"80px"},items:[{label:"名称",prop:"name",value:l.name,component:{name:"el-input",attrs:{placeholder:"请输入名称"}},rules:{required:!0,message:"名称不能为空"}},{label:"类型",prop:"taskType",value:l.taskType||0,component:{name:"el-select",options:[{label:"cron",value:0},{label:"时间间隔",value:1}],on:{change:function(e){c.items.map((function(t){"cron"==t.prop&&(t.hidden=0!==e),["limit","every"].includes(t.prop)&&(t.hidden=1!==e,t.value||(c[t.prop]=void 0))}))}}}},{label:"cron",prop:"cron",hidden:!o,value:l.cron,component:{name:"el-input",attrs:{placeholder:"* * * * * *"}},rules:{required:!0,message:"cron不能为空"}},{label:"次数",prop:"limit",value:l.limit,hidden:o,component:{name:"el-input-number",props:{min:1,max:1e4}}},{label:"间隔(秒)",prop:"every",value:l.every,hidden:o,component:{name:"el-input-number",props:{min:1,max:1e8}},rules:{required:!0,message:"执行间隔不能为空"}},{label:"service",prop:"service",value:l.service,component:{name:"el-input",attrs:{placeholder:"sys.test.add(params)"}}},{label:"开始时间",prop:"startDate",value:l.startDate,component:{name:"el-date-picker",props:{type:"datetime"}}},{label:"结束时间",prop:"endDate",value:l.endDate,component:{name:"el-date-picker",props:{type:"datetime"}}},{label:"备注",prop:"remark",value:l.remark,component:{name:"el-input",props:{type:"textarea"}}},{label:"状态",prop:"status",value:0===l.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(r["a"])(Object(r["a"])(Object(r["a"])({},l),s),{},{every:1e3*s.every})).then((function(){t.refreshTask(),t.$message.success("保存成功"),a()})).catch((function(e){t.$message.error(e),n()}))}}});case 10:case"end":return s.stop()}}),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,o=void 0===i||null===i?this.list.map((function(e,t){return t})):[i];o.forEach(function(){var t=Object(l["a"])(regeneratorRuntime.mark((function t(a){var i,l;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return i=s.list[a],Object.assign(i.params,Object(r["a"])(Object(r["a"])({},i.pagination),e)),s.$set(i,"loading",!0),t.next=5,s.$service.system.task.page(i.params);case 5:l=t.sent,p["utils"].moreList(l,i),n||s.$el.querySelector(".block._".concat(i.key," .container")).scroll(0,0),i.loading=!1;case 9:case"end":return t.stop()}}),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(l["a"])(regeneratorRuntime.mark((function a(){var i,n,l,o,c,u;return regeneratorRuntime.wrap((function(a){while(1)switch(a.prev=a.next){case 0:if(!s.logs.loading){a.next=2;break}return a.abrupt("return",!1);case 2:if(Object(p["checkPerm"])(s.perm.log)){a.next=4;break}return a.abrupt("return",!1);case 4:return i=s.logs,n=i.params,l=i.pagination,o=t||{},c=o.more,Object.assign(n,Object(r["a"])(Object(r["a"])({},l),e)),s.logs.loading=!0,a.next=10,s.$service.system.task.log(n);case 10:u=a.sent,p["utils"].moreList(u,s.logs),c||s.$el.querySelector(".block._log .container ul").scroll(0,0),s.logs.loading=!1;case 14:case"end":return a.stop()}}),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=u,d=(s("73f4"),s("5d22")),f=Object(d["a"])(m,a,i,!1,null,"30669648",null);t["default"]=f.exports},"73f4":function(e,t,s){"use strict";s("e786")},e786:function(e,t,s){}}]);