HEX
Server: nginx/1.28.3
System: Linux ip-172-31-12-242 6.17.0-1007-aws #7~24.04.1-Ubuntu SMP Thu Jan 22 21:04:49 UTC 2026 x86_64
User: root (0)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/server/panel/BTPanel/static/js/index-legacy77.js
!function(){function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}var t=["dst_node_idx"];function n(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,u,l=[],i=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;i=!1}else for(;!(i=(r=o.call(n)).done)&&(l.push(r.value),l.length!==t);i=!0);}catch(e){c=!0,a=e}finally{try{if(!i&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(c)throw a}}return l}}(e,t)||o(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e){return function(e){if(Array.isArray(e))return u(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){if(e){if("string"==typeof e)return u(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(e,t):void 0}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach(function(t){c(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function c(t,n,r){return(n=function(t){var n=function(t,n){if("object"!=e(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var a=r.call(t,n||"default");if("object"!=e(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(t)}(t,"string");return"symbol"==e(n)?n:n+""}(n))in t?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r,t}function s(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function o(n,r,a,o){var i=r&&r.prototype instanceof l?r:l,c=Object.create(i.prototype);return d(c,"_invoke",function(n,r,a){var o,l,i,c=0,s=a||[],d=!1,f={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,n){return o=t,l=0,i=e,f.n=n,u}};function p(n,r){for(l=n,i=r,t=0;!d&&c&&!a&&t<s.length;t++){var a,o=s[t],p=f.p,v=o[2];n>3?(a=v===r)&&(i=o[(l=o[4])?5:(l=3,3)],o[4]=o[5]=e):o[0]<=p&&((a=n<2&&p<o[1])?(l=0,f.v=r,f.n=o[1]):p<v&&(a=n<3||o[0]>r||r>v)&&(o[4]=n,o[5]=r,f.n=v,l=0))}if(a||n>1)return u;throw d=!0,r}return function(a,s,v){if(c>1)throw TypeError("Generator is already running");for(d&&1===s&&p(s,v),l=s,i=v;(t=l<2?e:i)||!d;){o||(l?l<3?(l>1&&(f.n=-1),p(l,i)):f.n=i:f.v=i);try{if(c=2,o){if(l||(a="next"),t=o[a]){if(!(t=t.call(o,i)))throw TypeError("iterator result is not an object");if(!t.done)return t;i=t.value,l<2&&(l=0)}else 1===l&&(t=o.return)&&t.call(o),l<2&&(i=TypeError("The iterator does not provide a '"+a+"' method"),l=1);o=e}else if((t=(d=f.n<0)?i:n.call(r,f))!==u)break}catch(t){o=e,l=1,i=t}finally{c=1}}return{value:t,done:d}}}(n,a,o),!0),c}var u={};function l(){}function i(){}function c(){}t=Object.getPrototypeOf;var f=[][r]?t(t([][r]())):(d(t={},r,function(){return this}),t),p=c.prototype=l.prototype=Object.create(f);function v(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,c):(e.__proto__=c,d(e,a,"GeneratorFunction")),e.prototype=Object.create(p),e}return i.prototype=c,d(p,"constructor",c),d(c,"constructor",i),i.displayName="GeneratorFunction",d(c,a,"GeneratorFunction"),d(p),d(p,a,"Generator"),d(p,r,function(){return this}),d(p,"toString",function(){return"[object Generator]"}),(s=function(){return{w:o,m:v}})()}function d(e,t,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}d=function(e,t,n,r){function o(t,n){d(e,t,function(e){return this._invoke(t,n,e)})}t?a?a(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(o("next",0),o("throw",1),o("return",2))},d(e,t,n,r)}function f(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){return void n(e)}l.done?t(i):Promise.resolve(i).then(r,a)}function p(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function u(e){f(o,r,a,u,l,"next",e)}function l(e){f(o,r,a,u,l,"throw",e)}u(void 0)})}}System.register(["./utils-lib-legacy.js?v=1777008528","./index-legacy118.js?v=1777008528","./index-legacy217.js?v=1777008528","./base-lib-legacy.js?v=1777008528","./index-legacy3.js?v=1777008528","./index-legacy130.js?v=1777008528","./index-legacy206.js?v=1777008528","./form-item-legacy.js?v=1777008528","./useController-legacy9.js?v=1777008528","./useStore-legacy12.js?v=1777008528","./index-legacy116.js?v=1777008528"],function(e,u){"use strict";var l,c,d,f,v,m,h,y,b,g,_,k,w,x,S,C,j,O,T,P,V,A,E,L,q,I,U,R,z,D,N,B,F,G,M,H,W,J,X,Y,Z,$,K,Q,ee,te,ne,re,ae,oe,ue,le,ie,ce,se,de,fe,pe,ve,me,he,ye,be,ge,_e,ke,we,xe,Se,Ce,je,Oe,Te,Pe,Ve,Ae,Ee,Le,qe,Ie,Ue,Re,ze,De,Ne,Be,Fe,Ge,Me,He,We,Je,Xe,Ye,Ze,$e,Ke,Qe,et;return{setters:[function(e){l=e.k,c=e.iU,d=e.c4,f=e.e,v=e._,m=e.R,h=e.w,y=e.iV,b=e.iW,g=e.iX,_=e.c_,k=e.d3,w=e.d4,x=e.dm,S=e.da,C=e.iY,j=e.iZ,O=e.i_,T=e.o,P=e.M,V=e.i$,A=e.dR,E=e.c,L=e.j0,q=e.j1,I=e.cl,U=e.j2,R=e.X,z=e.j3,D=e.cO,N=e.a0,B=e.j4,F=e.j5,G=e.j6,M=e.dc,H=e.cZ,W=e.cR},function(e){J=e._},function(e){X=e._},function(e){Y=e.aI,Z=e.aJ,$=e.r,K=e.H,Q=e.V,ee=e.c,te=e.o,ne=e.a8,re=e.I,ae=e.j,oe=e.k,ue=e.e,le=e.v,ie=e.q,ce=e.p,se=e.x,de=e.J,fe=e.z,pe=e.D,ve=e.aW,me=e.b6,he=e.F,ye=e.b5,be=e.i,ge=e.bb,_e=e.bm,ke=e.a7,we=e.av,xe=e.aC,Se=e.an,Ce=e.am,je=e.T,Oe=e.ag,Te=e.U,Pe=e.Y,Ve=e.g,Ae=e.w,Ee=e.n,Le=e.aL,qe=e._,Ie=e.s,Ue=e.Q,Re=e.K,ze=e.B,De=e.C,Ne=e.az},function(e){Be=e.e,Fe=e.g,Ge=e.b,Me=e.w},function(e){He=e.B},function(e){We=e._},function(e){Je=e.F,Xe=e.c,Ye=e.g,Ze=e.i,$e=e.a},function(e){Ke=e.h},function(e){Qe=e.u},function(e){et=e._}],execute:function(){var tt=Z("NODE-SCRIPT-MASS-STORE",function(){return{activeTabs:$("script-distribute"),contentType:$("byCustom"),isExecute:$(!1),isCanReset:$(!1),currentTaskId:$(0),taskList:$([]),serverObject:$({})}},{persist:{storage:localStorage,paths:["taskList","isCanReset","currentTaskId"]}}),nt=function(){return Y(tt())},rt=K({p:1,limit:20,search:"",script_type:"all",group_id:"-1"}),at=$();$(!1);var ot,ut=$(0),lt=$([]),it=$(!1),ct=$([]),st=function(){var e=p(s().m(function e(t){return s().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,h({title:"删除脚本",icon:"warning-filled",content:"删除后脚本信息不可恢复,是否继续操作?"});case 1:return e.n=2,l({loading:"正在删除脚本,请稍后...",request:y(t),message:!0,success:dt});case 2:return e.a(2)}},e)}));return function(t){return e.apply(this,arguments)}}(),dt=function(){var e=p(s().m(function e(){return s().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,l({loading:it,request:c(rt),data:{data:[Array,lt],page:d(ut)}});case 1:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),ft=function(e,t,n){if(gt(),e){var r=t.id,a=t.name,o=t.content,l=t.description,i=t.script_type;Object.assign(yt,{name:a,id:r,script_type:i,content:o,description:l})}var c;f({title:(e?"编辑":"创建")+"脚本",area:57,component:function(){return v(function(){return u.import("./add-script-legacy.js?v=1777008528")},void 0,u.meta.url)},onConfirm:(c=p(s().m(function t(){var r;return s().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,bt(!!e,!!n);case 1:return(r=t.v)&&(null==n||n()),t.a(2,r)}},t)})),function(){return c.apply(this,arguments)}),showFooter:!0})},pt=[{label:"删除脚本",value:"delete",event:(ot=p(s().m(function e(t,n){var r;return s().w(function(e){for(;;)switch(e.n){case 0:return r=function(){var e=p(s().m(function e(t){return s().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,y({id:t.id});case 1:return e.a(2,e.v)}},e)}));return function(t){return e.apply(this,arguments)}}(),e.n=1,t({title:"批量删除",content:"即将删除所选中的数据,是否继续操作?",column:[{prop:"name",label:"脚本名称"},Ge()],onConfirm:function(){var e=p(s().m(function e(){return s().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,n(r);case 1:return dt(),e.a(2,!1)}},e)}));return function(){return e.apply(this,arguments)}}()});case 1:return e.a(2)}},e)})),function(e,t){return ot.apply(this,arguments)})}];$();var vt=K({title:"脚本参数",form:{args:"",placeholder:"请输入脚本参数"},name:"",script_id:""}),mt=e("b",$()),ht=K({args_title:"",args_ps:""}),yt=e("a",K({name:"",content:"",script_type:"shell",description:""})),bt=(e("h",[]),e("c",K({name:[{required:!0,message:"请输入脚本名称",trigger:"blur"}],content:[{required:!0,message:"请输入脚本内容",trigger:"blur"}]})),function(){var e=p(s().m(function e(t,n){var r,a,o;return s().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,mt.value.validate();case 1:return r=i({},yt),t||delete r.id,a=t?b:g,e.n=2,l({loading:"正在".concat(t?"编辑":"创建","脚本,请稍后..."),request:a(r),message:!0,success:function(e){e.status&&gt(),!0!==n&&dt()}});case 2:return o=e.v,e.a(2,o.status)}},e)}));return function(t,n){return e.apply(this,arguments)}}()),gt=function(){Object.assign(yt,{name:"",content:"",script_type:"shell",description:"",id:""}),Object.assign(ht,{args_title:"",args_ps:""}),Object.assign(vt,{title:"脚本参数",form:{args:"",placeholder:"请输入脚本参数"},name:"",script_id:""})},_t=function(){lt.value=[],ct.value=[]},kt={class:"flex items-center"},wt={class:"flex items-center"},xt=ee({__name:"index",setup:function(e,t){var n=t.expose,r=Q([Be(),{label:"名称",prop:"name"},{label:"类型",prop:"script_type"},{label:"创建时间",render:function(e){return m(e.updated_at)}},{label:"备注",prop:"description",showOverflowTooltip:!0},Fe([{onClick:function(e){return ft(!0,e)},title:"编辑"},{onClick:st,title:"删除"}])]);return te(p(s().m(function e(){return s().w(function(e){for(;;)switch(e.n){case 0:dt();case 1:return e.a(2)}},e)}))),ne(_t),n({init:dt}),function(e,t){var n=fe,o=_,u=k,l=w,i=X,c=J,s=re("bt-loading");return ae(),oe("div",null,[ue(c,null,{"header-left":le(function(){return[ie("div",kt,[ue(n,{onClick:t[0]||(t[0]=function(e){return ce(ft)()}),type:"primary"},{default:le(function(){return a(t[4]||(t[4]=[se("创建脚本",-1)]))}),_:1})])]}),"header-right":le(function(){return[ie("div",wt,[ue(o,{modelValue:ce(rt).search,"onUpdate:modelValue":t[1]||(t[1]=function(e){return ce(rt).search=e}),class:"ml-12px !w-[32rem]",placeholder:"请输入搜索关键字",onSearch:ce(dt)},null,8,["modelValue","onSearch"])])]}),content:le(function(){return[de(ue(u,{ref_key:"scriptTableRef",ref:at,column:ce(r),data:ce(lt)},null,8,["column","data"]),[[s,ce(it)],[s,"正在加载中,请稍后...","title"]])]}),"footer-left":le(function(){return[ue(l,{"table-ref":ce(at),options:ce(pt)},null,8,["table-ref","options"])]}),"footer-right":le(function(){return[ue(i,{total:ce(ut),page:ce(rt).p,"onUpdate:page":t[2]||(t[2]=function(e){return ce(rt).p=e}),row:ce(rt).limit,"onUpdate:row":t[3]||(t[3]=function(e){return ce(rt).limit=e}),onChange:ce(dt)},null,8,["total","page","row","onChange"])]}),_:1})])}}});var St=ee({name:"Editor",props:{modelValue:{type:String,default:""},type:{type:String,default:"shell"}},setup:function(e){var t=ke(),n=ge(e,"modelValue"),r={mode:"ace/mode/".concat("python"===e.type?"python":"sh"),theme:t.value?"ace/theme/clouds_midnight":"ace/theme/chrome",wrap:!0,showInvisibles:!1,showFoldWidgets:!1,useSoftTabs:!0,tabSize:2,showPrintMargin:!1,readOnly:!0,fontSize:"12px"};return function(){return ue("div",null,[ue(He,{class:"!h-[36rem] !w-[70rem]",modelValue:n.value,"onUpdate:modelValue":function(e){return n.value=e},editorOption:r},null)])}}}),Ct=ee({name:"Collapse",props:{modelValue:{type:Boolean,default:!1}},setup:function(e,t){var n=t.slots,r=ge(e,"modelValue"),a=$(null),o=function(e){e.style.height="0"},u=function(e){e.style.height=e.scrollHeight+"px"},l=function(e){e.style.height="auto"},i=function(e){e.style.height=e.scrollHeight+"px"},c=function(e){e.offsetHeight,e.style.height="0"},s=function(e){e.style.height="0"};return function(){return ue("div",null,[ue(_e,{onBeforeEnter:o,onEnter:u,onAfterEnter:l,onBeforeLeave:i,onLeave:c,onAfterLeave:s},{default:function(){var e;return[r.value&&ue("div",{ref:a,class:"collapse-content mt-[1.2rem]",style:{overflow:"hidden",transition:"height 0.3s ease"}},[null===(e=n.default)||void 0===e?void 0:e.call(n)])]}})])}}}),jt=ee({name:"ResultList",props:{task:{type:Object,default:function(){return{}}},serverObject:{type:Object,default:function(){return{}}}},setup:function(e){var a=e.task.task_type;function u(e){var a,u=new Map,l=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=o(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var u,l=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){i=!0,u=e},f:function(){try{l||null==n.return||n.return()}finally{if(i)throw u}}}}(e);try{for(l.s();!(a=l.n()).done;){var i=a.value,c=i.dst_node_idx,s=n(i,t);u.has(c)||u.set(c,[]),u.get(c).push(s)}}catch(d){l.e(d)}finally{l.f()}return Array.from(u,function(e){var t=r(e,2);return{dst_node_idx:t[0],data:t[1]}})}var i=function(e,t,n){var r,o=we(e),u=S({request:(r=p(s().m(function e(){return s().w(function(e){for(;;)if(0===e.n)return e.a(2,{data:o.value})},e)})),function(){return r.apply(this,arguments)}),columns:[{label:"文件地址",prop:"dst_file",showOverflowTooltip:!0},{label:"状态",prop:"status",width:80,render:function(e){return function(e){var t={color:"var(--el-color-text-secondary)",content:"等待执行"};switch(e){case 0:t.color="var(--el-color-text-secondary)",t.content="等待中";break;case 1:t.color="var(--el-color-text-secondary)",t.content="进行中";break;case 2:t.color="var(--el-color-success)",t.content="执行成功";break;case 3:t.color="var(--el-color-danger)",t.content="执行失败";break;case 4:t.color="var(--el-color-warning)",t.content="command"===a?"异常":"跳过"}return ue("span",{style:{color:t.color}},[t.content])}(e.status)}},Fe([{render:function(e){return 3!==e.status?ue("span",{class:"text-secondary"},[se("--")]):""}},{title:"重试",width:80,isHide:function(e){return 3!==e.status},onClick:function(e){qt(a,e.id,e.transfer_task_id,function(){var t=p(s().m(function t(r){var a;return s().w(function(t){for(;;)switch(t.n){case 0:if(!r.status){t.n=3;break}a=0;case 1:if(!(a<o.value.length)){t.n=3;break}if(o.value[a].id!==e.id){t.n=2;break}return o.value[a]=r.data.data[0],i(),n(),t.a(3,3);case 2:a++,t.n=1;break;case 3:return t.a(2)}},t)}));return function(e){return t.apply(this,arguments)}}())}}])]}),l=u.BtTable,i=u.refresh;f({title:"文件传输详情【".concat(t,"】"),area:75,component:function(){return ue("div",{class:"p-[1.6rem]"},[ue(l,{"max-height":500},null)])}})},c=e.task.result,d=$({data:[],total:0}),v=function(t){if("command"===e.task.task_type){var n=(null==t?void 0:t.sort(function(e,t){return e.dst_node_idx-t.dst_node_idx}))||[];return{data:n,total:n.length}}var r=u(t)||[];return{data:r,total:r.length,raw:t}},m=function(){var t=p(s().m(function t(){var n;return s().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,l({request:"command"===e.task.task_type?C({task_id:e.task.id}):j({task_id:e.task.id})});case 1:if((n=t.v).status){t.n=2;break}return t.a(2,{data:[],total:0});case 2:c=n.data.data.data,d.value=v(c);case 3:return t.a(2)}},t)}));return function(){return t.apply(this,arguments)}}();switch(te(p(s().m(function e(){return s().w(function(e){for(;;)switch(e.n){case 0:c?d.value=v(c):m();case 1:return e.a(2)}},e)}))),e.task.task_type){case"command":return function(){var t;return ue("div",{class:"grid grid-cols-3 gap-[1.2rem]"},[null===(t=d.value)||void 0===t?void 0:t.data.map(function(t){var n={color:"info",content:"等待执行"};switch(t.status){case 2:n.color="success",n.content="成功";break;case 3:n.color="danger",n.content="失败";break;case 4:n.color="warning",n.content="command"===a?"异常":"跳过"}return ue("div",{class:"border border-light rounded-large p-[1.2rem] box-shadow-[0_0.1rem_0.3rem_rgba(0,0,0,0.1)] flex items-center justify-between"},[ue("div",null,[ue("div",{class:"flex items-center gap-[.8rem]"},[ue("div",{class:"max-w-[15.5rem] truncate",title:e.serverObject[t.server_id]},[e.serverObject[t.server_id]]),ue(pe,{type:n.color},{default:function(){return[n.content]}})]),ue("div",{class:"text-small mt-[.8rem] text-secondary"},[t.ssh_host])]),ue("div",null,[ue("span",{class:"bt-link",onClick:function(){return Lt(t,e.serverObject[t.server_id],m)}},[se("查看详情")])])])})])};case"file":return function(){var t;return ue("div",{class:"grid grid-cols-3 gap-[1.2rem]"},[null===(t=d.value)||void 0===t?void 0:t.data.map(function(t){var n={color:"info",content:"等待执行",error:0,skip:0,success:0};return t.data.forEach(function(e){switch(e.status){case 2:n.success++;break;case 3:n.error++;break;case 4:n.skip++}}),n.color=n.error>0?"danger":n.skip>0?"warning":"success",n.content=n.error>0?"".concat(n.error,"个失败"):n.skip>0?"".concat(n.skip,"个跳过"):"成功",ue("div",{class:"border border-light rounded-large p-[1.2rem] box-shadow-[0_0.1rem_0.3rem_rgba(0,0,0,0.1)] flex items-center justify-between"},[ue("div",null,[ue("div",{class:"flex items-center gap-[.8rem]"},[ue("div",{class:"max-w-[13.5rem] truncate",title:e.task.dst_nodes[t.dst_node_idx].name},[e.task.dst_nodes[t.dst_node_idx].name]),ue(pe,{type:n.color},{default:function(){return[n.content]}})]),ue("div",{class:"text-small mt-[.8rem] text-secondary"},[e.task.dst_nodes[t.dst_node_idx].address])]),ue("div",null,[ue("span",{class:"bt-link",onClick:function(){return i(t.data,e.task.dst_nodes[t.dst_node_idx].name,m)}},[se("查看详情")])])])})])}}}}),Ot=ee({name:"TaskCard",props:{task:{type:Object,default:function(){return{}}},index:{type:Number,default:0},type:{type:String,default:"execute"}},emits:["edit","delete"],setup:function(e,t){var n=t.emit,r=nt(),a=r.isExecute,o=r.taskList,u=r.serverObject,l=$(!0),c=$(!1),d=$("show"===e.type||"template"===e.type),v=$("template"===e.type),m={backgroundColor:"var(--el-fill-color-dark) !important",color:"var(--el-base-supplement) !important",borderColor:"var(--el-color-border-dark) !important"},y=function(t){switch(e.task.status){case 0:return{type:"info",content:"等待中"};case 1:return{type:"info",content:"进行中"};case 2:return{type:"success",content:"执行成功"};case 3:return{type:"danger",content:"执行失败"};case 4:return"command"===e.task.task_type?{type:"danger",content:"异常"}:{type:"danger",content:"执行失败"}}if(a.value&&void 0===t)return{type:"info",content:"执行中"};switch(t){case"success":return{type:"success",content:"执行成功"};case"error":return{type:"danger",content:"执行失败"}}return{type:"info",content:"等待执行"}};return function(){var t,r;return ue("div",{class:"border border-light rounded-large p-[1.2rem] mb-[1.6rem] box-shadow-[0_0.1rem_0.3rem_rgba(0,0,0,0.1)] task-card"},[ue("div",{class:"flex items-center justify-between py-[.8rem] h-[3rem] cursor-pointer",onClick:function(){return l.value=!l.value}},[ue("div",{class:"flex items-center"},[!e.task.status&&!a.value&&!d.value&&ue("i",{class:"svgtofont-icon-drag cursor-move mover align-middle mr-[.8rem]"},null),v.value&&ue("i",{class:"svgtofont-icon-drag cursor-move mover align-middle mr-[.8rem]"},null),ue("div",{class:"text-medium font-bold max-w-[40rem] truncate"},[e.task.name]),ue("div",{class:"flex items-center gap-[.8rem] ml-[1.2rem]"},[ue(pe,{type:"warning",style:"command"===e.task.task_type?m:{}},{default:function(){return["command"===e.task.task_type?"命令任务":"文件任务"]}}),ue(pe,{type:null===(t=y(e.task.status))||void 0===t?void 0:t.type},{default:function(){var t;return[null===(t=y(e.task.status))||void 0===t?void 0:t.content]}})]),!e.task.status&&!a.value&&!d.value&&ue("div",{class:"flex items-center gap-[1.2rem] hover-btn"},[ue(ve,{content:"编辑任务",placement:"top"},{default:function(){return[ue(fe,{type:"default",class:"!ml-[.8rem]",style:{padding:"6px 12px !important"},size:"small",circle:!0,onClick:function(t){t.stopPropagation(),n("edit",e.task)}},{default:function(){return[ue("i",{class:"svgtofont-el-edit"},null)]}})]}}),ue(ve,{content:"复制任务",placement:"top"},{default:function(){return[ue(fe,{type:"default",class:"!ml-0",style:{padding:"6px 12px !important"},size:"small",circle:!0,onClick:function(t){t.stopPropagation(),o.value.splice(e.index+1,0,i(i({},e.task),{},{id:x(16)}))}},{default:function(){return[ue("i",{class:"svgtofont-el-document-copy"},null)]}})]}}),ue(ve,{content:"删除任务",placement:"top"},{default:function(){return[ue(fe,{type:"danger",class:"!ml-0",style:{padding:"6px 12px !important"},size:"small",circle:!0,onClick:(t=p(s().m(function t(n){return s().w(function(t){for(;;)switch(t.n){case 0:return n.stopPropagation(),t.n=1,h({title:"删除任务",content:"确定删除该任务吗?"});case 1:o.value=o.value.filter(function(t){return t.id!==e.task.id});case 2:return t.a(2)}},t)})),function(e){return t.apply(this,arguments)})},{default:function(){return[ue("i",{class:"svgtofont-el-delete text-white"},null)]}})];var t}})]),v.value&&ue("div",{class:"hover-btn"},[ue(ve,{content:"删除任务",placement:"top"},{default:function(){return[ue(fe,{type:"danger",class:"!ml-[.8rem]",style:{padding:"6px 12px !important"},size:"small",circle:!0,onClick:(t=p(s().m(function t(r){return s().w(function(t){for(;;)switch(t.n){case 0:return r.stopPropagation(),t.n=1,h({title:"删除任务",content:"确定删除该任务吗?"});case 1:n("delete",e.task.id);case 2:return t.a(2)}},t)})),function(e){return t.apply(this,arguments)})},{default:function(){return[ue("i",{class:"svgtofont-el-delete text-white"},null)]}})];var t}})])]),ue("div",{class:"text-small"},[ue("span",{class:l.value?"svgtofont-el-arrow-up":"svgtofont-el-arrow-down"},null)])]),ue(Ct,{modelValue:l.value,"onUpdate:modelValue":function(e){return l.value=e}},{default:function(){return[ue(me,{column:1,border:!0},{default:function(){return["command"===e.task.task_type?ue(he,null,[ue(ye,{label:"类型","label-class-name":"!w-[12rem]"},{default:function(){return[e.task.script_id?"脚本库":"自定义命令"]}}),!e.task.script_id&&ue(ye,{label:"命令类型","label-class-name":"!w-[12rem]"},{default:function(){return[e.task.script_type]}}),ue(ye,{label:"命令内容","label-class-name":"!w-[12rem]"},{default:function(){return[ue("div",null,[ue("pre",{class:"!text-small !whitespace-pre-wrap"},[c.value?e.task.script_content:e.task.script_content.length>120?e.task.script_content.substring(0,120)+"...":e.task.script_content]),e.task.script_content.length>120&&ue("span",{class:"bt-link mt-[.8rem] text-small",onClick:function(){var t,n;e.task.script_content.length>1e3?(t=e.task.script_content,n=e.task.script_type,f({title:"命令详情",area:75,component:function(){return ue("div",{class:"p-[1.2rem]"},[ue(St,{modelValue:t,"onUpdate:modelValue":function(e){return t=e},type:n},null)])}})):c.value=!c.value}},[c.value?"收起":"查看完整命令"])])]}})]):ue(he,null,[ue(ye,{label:"源节点","label-class-name":"!w-[12rem]"},(n=e.task,t=r=n.src_node?"".concat(n.src_node.name,"(").concat(n.src_node.address?n.src_node.address:"127.0.0.1",")"):"".concat("127.0.0.1"===n.src_node_ip?"本机节点":u.value[n.src_node_id],"(").concat(n.src_node_ip,")"),"function"==typeof t||"[object Object]"===Object.prototype.toString.call(t)&&!be(t)?r:{default:function(){return[r]}})),e.task.path_list.map(function(e){return ue(ye,{label:"传输路径","label-class-name":"!w-[12rem]"},{default:function(){return[ue("div",{class:"w-full flex items-center justify-between"},[ue("div",{class:"w-[41%] max-w-[34rem] truncate",title:e.path},[se("源: "),e.path]),ue("div",{class:""},[se(">>已选择执行节点的:")]),ue("div",{class:"w-[41%] max-w-[34rem] truncate",title:e.dst_path},[e.dst_path])])]}})})]),!a.value&&e.task.status||d.value&&!v.value?ue(ye,{label:"执行结果","label-class-name":"!w-[12rem]"},{default:function(){return[ue(jt,{task:e.task,serverObject:u.value},null)]}}):null];var t,n}})]}})])}}}),Tt=function(e){return e.map(function(e){var t=x(16);switch(e.task_type){case"command":return i(i(i({id:t,task_type:"command",name:e.name},e.script_id?{script_id:e.script_id}:{}),e.script_type?{script_type:e.script_type}:{}),{},{script_content:e.script_content});case"file":return{id:t,task_type:"file",name:e.name,src_node_id:e.src_node_id,src_node_ip:e.src_node_ip,path_list:e.path_list}}})},Pt=function(){var e=p(s().m(function e(t){var n;return s().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,l({request:O(t)});case 1:return n=e.v,e.a(2,{data:n.data.data,total:T(n.data.page)})}},e)}));return function(t){return e.apply(this,arguments)}}(),Vt=ee({props:{task:{type:Object,default:function(){}}},setup:function(e){var t=$(!0);return function(){return ue("div",{class:"p-[1.2rem]"},[ue("div",{class:"p-[1.2rem] border border-dark rounded-large mb-[1.2rem]"},[ue("div",{class:"flex items-center justify-between py-[.8rem] h-[3rem] cursor-pointer",onClick:function(){return t.value=!t.value}},[ue("div",{class:"text-medium font-bold"},[se("执行节点")])]),ue(Ct,{modelValue:t.value,"onUpdate:modelValue":function(e){return t.value=e}},{default:function(){return[ue("div",{class:"grid grid-cols-4 gap-[1.4rem] max-h-[30rem] overflow-y-auto"},[e.task.server_list.map(function(e){return ue("div",{key:e.id,class:"flex items-center p-3 border border-dark rounded-base transition-all  max-w-[24rem] duration-200 hover:shadow-md"},[ue("div",{class:"flex-1 min-w-0"},[ue("div",{class:"flex items-center gap-2 mb-[.5rem]"},[ue("span",{class:"text-base h-[2rem] flex items-center truncate",title:e.name},[e.name])]),ue("div",{class:"text-small font-mono text-tertiary"},[e.server_ip])])])})])]}})]),ue("div",{class:"p-[1.2rem] border border-dark rounded-large"},[ue("div",{class:"flex items-center justify-between py-[.8rem] h-[3rem] mb-[1.2rem]"},[ue("div",{class:"text-medium font-bold"},[se("任务列表")])]),e.task.steps.map(function(e){return ue(Ot,{key:e.id,task:e,type:"show"},null)})])])}}}),At=function(e){f({title:"执行记录",area:110,component:function(){return ue(Vt,{task:e},null)}})},Et=ee({props:{logName:{type:String,default:""},content:{type:String,default:""}},setup:function(e){var t=$(e.content||"获取中..."),n=function(){var n=p(s().m(function n(){var r,a;return s().w(function(n){for(;;)switch(n.n){case 0:return n.n=1,A({path:"/www/server/panel/logs/executor_log/"+e.logName});case 1:r=n.v,a=r.data,t.value=a.data;case 2:return n.a(2)}},n)}));return function(){return n.apply(this,arguments)}}();return e.content||n(),function(){return ue("div",{class:"flex-wrap"},[ue(We,{class:"h-[40rem] !rounded-none",content:t.value},null)])}}}),Lt=function(){var e=p(s().m(function e(t,n,r){var a;return s().w(function(e){for(;;)switch(e.n){case 0:a=ee({setup:function(){var e=xe("popupClose",function(){});return function(){return ue("div",{class:"p-[1.2rem]"},[ue("div",{class:"mb-[1.2rem] p-[1.2rem] border border-dark rounded-base flex items-center justify-between"},[ue("div",null,[ue("div",{class:"mb-[.8rem]"},[ue("span",{class:"text-tertiary mr-[.8rem]"},[se("节点名称:")]),ue("span",{class:"text-base font-medium"},[n])]),ue("div",null,[ue("span",{class:"text-tertiary mr-[.8rem]"},[se("节点IP:")]),ue("span",{class:"text-base font-mono"},[t.ssh_host])])]),[3,4].includes(t.status)&&ue("span",{class:"bt-link",onClick:(a=p(s().m(function n(){var a;return s().w(function(n){for(;;)switch(n.p=n.n){case 0:return a=null,n.p=1,n.n=2,h({title:"重新执行任务",content:"确定要重新当前执行任务吗?"});case 2:a=P.load("正在重新执行任务..."),e(),qt("command",t.id,t.command_task_id,function(){var e;null===(e=a)||void 0===e||e.close(),null==r||r()}),n.n=4;break;case 3:n.p=3,n.v;case 4:return n.p=4,a&&a.close(),n.f(4);case 5:return n.a(2)}},n,null,[[1,3,4,5]])})),function(){return a.apply(this,arguments)})},[se("重新执行")])]),ue("div",{class:"mb-[.8rem]"},[ue("div",{class:"text-medium font-bold mb-[.8rem]"},[se("执行日志")]),ue(Et,{logName:t.log_name,content:t.message},null)])]);var a}}}),f({title:"执行记录",component:function(){return ue(a,null,null)},area:55,onCancel:r});case 1:return e.a(2)}},e)}));return function(t,n,r){return e.apply(this,arguments)}}(),qt=function(){var e=p(s().m(function e(t,n,r,a){var o,u,l;return s().w(function(e){for(;;)switch(e.p=e.n){case 0:return o=P.load("正在重新执行任务..."),e.p=1,e.n=2,V({task_type:t,task_id:r,log_id:n});case 2:u=e.v,P.request(u),a(u),e.n=4;break;case 3:e.p=3,l=e.v,P.error(l);case 4:return e.p=4,o.close(),e.f(4);case 5:return e.a(2)}},e,null,[[1,3,4,5]])}));return function(t,n,r,a){return e.apply(this,arguments)}}(),It={class:"relative"},Ut=ee({__name:"index",setup:function(e,t){var n=t.expose,r=E().mainHeight,o=S({request:function(e){return Pt(e)},columns:[{label:"执行时间",prop:"updated_at",width:160,render:function(e){return m(e.updated_at)}},{label:"执行节点",prop:"size",width:300,render:function(e){var t=e.server_list[0].name;return"".concat(t).concat(e.server_list.length>1?"等".concat(e.server_list.length,"个节点"):"")}},{label:"执行任务",prop:"script_content",showOverflowTooltip:!0,render:function(e){return e.steps.map(function(e){return e.name}).join(",")}},Fe([{onClick:At,width:80,title:"执行结果"}])]}),u=o.BtTable,l=o.BtPage;return n({init:o.refresh}),function(e,t){var n=J;return ae(),oe("div",It,[ue(n,null,{"header-left":le(function(){return a(t[0]||(t[0]=[ie("div",{class:"flex items-center"},null,-1)]))}),"header-right":le(function(){return a(t[1]||(t[1]=[]))}),content:le(function(){return[ue(ce(u),{"max-height":ce(r)-320},null,8,["max-height"])]}),"footer-left":le(function(){return a(t[2]||(t[2]=[]))}),"footer-right":le(function(){return[ue(ce(l))]}),popup:le(function(){return a(t[3]||(t[3]=[]))}),_:1})])}}});L.mount(new q);var Rt=ee({name:"ServerSelector",props:{value:{type:Array,default:function(){return[]}},options:{type:Array,default:function(){return[]}}},emits:["goAddNode","refresh"],setup:function(e,t){var n=t.emit,r=function(e){var t=Pe(e,"value"),n=Pe(e,"options"),r=$(e.options),o=$([]),u=Qe().nodeCategory,l=Ve(function(){return u.value.filter(function(e){return"0"!==e.value&&"all"!==e.value})});te(function(){Ke()}),Ae(n,function(){i()});var i=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=n.value.filter(function(e){return!e.is_local});o.value&&o.value.length>0&&(t=t.filter(function(e){return o.value.includes(e.category_id.toString())})),e&&(t=t.filter(function(t){var n;return t.remarks.toLowerCase().includes(e.toLowerCase())||(null===(n=t.address)||void 0===n?void 0:n.includes(e))})),r.value=t};return{selectedServers:t,filteredServers:r,filterServer:function(e){i(e)},handleServerToggle:function(e){t.value.includes(e)?t.value=t.value.filter(function(t){return t!==e}):t.value=[].concat(a(t.value),[e])},selectAllServers:function(){t.value=r.value.filter(function(e){return e.has_ssh}).map(function(e){return e.id})},invertSelection:function(){var e=r.value.filter(function(e){return e.has_ssh}).map(function(e){return e.id}),n=e.filter(function(e){return!t.value.includes(e)}),o=t.value.filter(function(t){return!e.includes(t)});t.value=[].concat(a(o),a(n))},clearSelection:function(){t.value=[]},serverGroups:l,selectedGroup:o,handleGroupChange:function(e){o.value=e,i()}}}(e),o=r.selectedServers,l=r.filteredServers,i=r.filterServer,c=r.selectAllServers,s=r.invertSelection,d=r.clearSelection,p=r.serverGroups,m=r.selectedGroup,h=r.handleGroupChange,y="";return function(){var e,t;return ue("div",{class:"p-[1.2rem] border border-dark rounded-large space-y-3"},[ue("div",{class:"flex flex-col sm:flex-row gap-2"},[ue(Se,{class:"!w-[20rem]",placeholder:"分组筛选",clearable:!0,multiple:!0,"collapse-tags":!0,"max-collapse-tags":1,modelValue:m.value,"onUpdate:modelValue":function(e){return m.value=e},onChange:h},(t=e=p.value.map(function(e){return ue(Ce,{key:e.value,value:e.value,label:e.label},null)}),"function"==typeof t||"[object Object]"===Object.prototype.toString.call(t)&&!be(t)?e:{default:function(){return[e]}})),ue("div",{class:"relative w-full max-w-[36rem]"},[ue(je,{type:"text",placeholder:"搜索节点",modelValue:y,"onUpdate:modelValue":function(e){return y=e},clearable:!0,onInput:i,onClear:function(){return i("")}},null)]),ue("div",{class:"flex gap-2"},[ue(fe,{type:"default",onClick:c},{default:function(){return[se("全选")]}}),ue(fe,{type:"default",onClick:s},{default:function(){return[se("反选")]}}),ue(fe,{type:"default",onClick:d},{default:function(){return[se("清空")]}})])]),ue("div",{class:"max-h-[20rem] overflow-y-auto"},[l.value.length>0?ue(Oe,{modelValue:o.value,"onUpdate:modelValue":function(e){return o.value=e}},{default:function(){return[ue("div",{class:"grid grid-cols-4 gap-[1.4rem]"},[l.value.map(function(e){var t,r=(null===(t=p.value.find(function(t){return Number(t.value)===e.category_id}))||void 0===t?void 0:t.label)||"默认分组",l=o.value.includes(e.id),i=e.server_ip||e.ip,c=!e.has_ssh;return ue(ve,{placement:"top",effect:"dark",content:"点击关联SSH",disabled:!c},{default:function(){return[ue("div",{key:e.id,class:"flex items-center p-3 border rounded-base transition-all cursor-pointer max-w-[24rem] duration-200 hover:shadow-md ".concat(l?"border-primary":c?"":"border-light hover:border-dark"," ").concat(c?"opacity-50":""),onClick:function(){c?f({title:"添加root账号信息",area:50,compData:{node_id:e.id,server_ip:e.server_ip,ssh_conf:{},callback:function(){n("refresh")}},btn:["保存"],component:function(){return v(function(){return u.import("./ssh-edit-legacy.js?v=1777008528")},void 0,u.meta.url)}}):o.value=l?o.value.filter(function(t){return t!==e.id}):[].concat(a(o.value),[e.id])}},[ue(Te,{class:"mr-3 pointer-events-none",value:e.id,checked:l,disabled:c},null),ue("div",{class:"flex-1 min-w-0"},[ue("div",{class:"flex items-center gap-2 mb-[.5rem]"},[ue("span",{class:"text-base h-[2rem] flex items-center truncate",title:e.remarks},[e.remarks]),ue("span",{class:"w-3 h-3 rounded-full ".concat(0===e.error_num?"bg-success":"bg-danger")},null)]),ue("div",{class:"text-small font-mono text-darkTertiary"},[i])]),ue("div",{class:"text-small text-right min-w-0"},[ue("div",{class:"font-medium truncate",title:r},[r])])])]}})})])]}}):ue("div",{class:"col-span-full p-4 text-center text-secondary text-small"},[se("暂无数据,"),ue("span",{class:"bt-link",onClick:function(){return n("goAddNode")}},[se("前往添加节点")])])])])}}}),zt=ee({name:"ContentSelect",props:{modelValue:{type:Number||void 0,default:void 0},scriptType:{type:String,default:"shell"},content:{type:String,default:""}},setup:function(e,t){var n=t.expose,r=ge(e,"modelValue"),a=ge(e,"scriptType"),o=ge(e,"content"),u=$([]),i=$([]),s=[],d=function(){u.value=[],i.value=[],l({request:c({p:"1",limit:"200"}),success:function(e){e.status&&(s=e.data.data,e.data.data.forEach(function(e){"shell"===e.script_type?u.value.push({label:e.name,value:e.id,content:e.content}):"python"===e.script_type&&i.value.push({label:e.name,value:e.id,content:e.content})}))}})};return d(),n({getScriptData:d}),function(){return ue("div",{class:"flex items-center gap-[1.2rem]"},[ue(Se,{class:"!w-[50rem]",placeholder:"请选择脚本",filterable:!0,modelValue:r.value,"onUpdate:modelValue":function(e){return r.value=e},onChange:function(e){var t=s.find(function(t){return t.id===e});t&&(o.value=t.content||"")}},{default:function(){return["shell"===a.value?u.value.map(function(e){return ue(ve,{"popper-class":"!max-w-[35rem]",placement:"right"},{default:function(){return ue(Ce,{key:e.value,value:e.value,label:e.label},{default:function(){return[ue("span",{class:"truncate max-w-[20rem]"},[e.label])]}})},content:function(){return ue("pre",{class:"whitespace-pre-wrap"},[e.content.length>120?e.content.substring(0,120)+"...":e.content])}})}):i.value.map(function(e){return ue(ve,{"popper-class":"!max-w-[35rem]",placement:"right"},{default:function(){return ue(Ce,{key:e.value,value:e.value,label:e.label},{default:function(){return[ue("span",{class:"truncate max-w-[20rem]"},[e.label])]}})},content:function(){return ue("pre",{class:"whitespace-pre-wrap"},[e.content.length>120?e.content.substring(0,120)+"...":e.content])}})})]}}),ue("span",{class:"bt-link",onClick:function(){return ft(!1,void 0,d)}},[se("创建脚本")])])}}}),Dt=function(){var e=p(s().m(function e(t,n,r){var o,u,l,c,d,v,m,h,y,b,g,_;return s().w(function(e){for(;;)switch(e.n){case 0:return o=[{label:"执行命令",value:"cmd"},{label:"发送文件",value:"file"}],u=[{label:"脚本库",value:"bySelect"},{label:"自定义命令",value:"byCustom"}],l=[{label:"Shell",value:"shell"},{label:"Python",value:"python"}],c=$(),d=$(!!n),v=$([]),m=R({data:function(){var e;return{name:(null==n?void 0:n.name)||"",taskType:"file"===(null==n?void 0:n.task_type)?"file":"cmd",script_content:(null!=n&&n.script_id?"":null==n?void 0:n.script_content)||"",cmd_type:d.value?null!=n&&n.script_id?"bySelect":"byCustom":"bySelect",script_type:(null!=n&&n.script_id?"shell":null==n?void 0:n.script_type)||"shell",script_id:(null==n?void 0:n.script_id)||void 0,source_node:(null==n?void 0:n.src_node_id)||void 0,pathArray:(null==n||null===(e=n.path_list)||void 0===e?void 0:e.map(function(e){return{key:e.key||x(16),sourcePath:e.path,isDir:e.is_dir,targetPath:e.dst_path}}))||[{key:x(16),sourcePath:"",isDir:!1,targetPath:""}]}},options:function(e){var t=Ve(function(){return"shell"===e.value.script_type?"ace/mode/sh":"ace/mode/python"}),n=function(){var e;g();var n=null===(e=c.value)||void 0===e?void 0:e.getEditor();n&&n.session.setMode(t.value)};return Ve(function(){return[Je("任务名称","name",{attrs:{placeholder:"请输入任务名称",class:"!w-[30rem]"},rules:[{required:!0,message:"请输入任务名称"}]}),Xe("任务类型","taskType",o,{attrs:{disabled:d.value}})].concat(a("cmd"===e.value.taskType?[Xe("来源","cmd_type",u,{attrs:{onChange:n}}),Xe("命令类型","script_type",l,{attrs:{onChange:function(){var n;if("bySelect"!==e.value.cmd_type){var r=null===(n=c.value)||void 0===n?void 0:n.getEditor();r&&r.session.setMode(t.value)}else e.value.script_id=void 0}}})].concat(a("byCustom"===e.value.cmd_type?[Ye("命令内容",function(){return ue(He,{class:"!h-[36rem] !w-[84rem]",ref:c,modelValue:e.value.script_content,"onUpdate:modelValue":function(t){return e.value.script_content=t},editorOption:{mode:t.value}},null)},"script_content",{rules:[{required:!0,message:"请输入命令内容"}]})]:[Ye("选择脚本",function(){return ue(zt,{modelValue:e.value.script_id,"onUpdate:modelValue":function(t){return e.value.script_id=t},scriptType:e.value.script_type,"onUpdate:scriptType":function(t){return e.value.script_type=t},content:e.value.script_content,"onUpdate:content":function(t){return e.value.script_content=t}},null)},"script_id",{rules:[{required:!0,message:"请选择脚本"}]})])):[Ze("源节点","source_node",v.value.map(function(e){return{label:"".concat(e.remarks,"(").concat(e.server_ip,")"),value:e.id}}),{attrs:{class:"!w-[30rem]"},rules:[{required:!0,message:"请选择源节点"}]}),Ye("文件内容",function(){return ue("div",null,[].concat(a(e.value.pathArray.map(function(t){return ue("div",{class:"flex items-center mb-[1rem] gap-[1.2rem]"},[ue(et,{modelValue:t.sourcePath,"onUpdate:modelValue":function(e){return t.sourcePath=e},icon:"el-folder-opened",placeholder:"请选择源文件路径",readonly:!0,width:"32rem",onIconClick:(n=p(s().m(function n(){var r;return s().w(function(n){for(;;)switch(n.n){case 0:if(e.value.source_node){n.n=1;break}return null===(r=y.value)||void 0===r||r.validateField("source_node"),n.a(2);case 1:Me({type:"all",path:t.sourcePath||"/www/wwwroot",change:function(e,n){t.sourcePath=e,t.isDir="dir"===n},disabledCreate:!0,customRequest:!0,customRequestApi:function(t){return z(i(i({},t),{},{node_id:e.value.source_node}))}});case 2:return n.a(2)}},n)})),function(){return n.apply(this,arguments)})},null),ue("span",null,[se("传输到已选目标节点的:")]),ue(D,{modelValue:t.targetPath,"onUpdate:modelValue":function(e){return t.targetPath=e},placeholder:"请输入目标文件路径",width:"32rem"},null),ue("span",{class:"text-danger cursor-pointer",onClick:function(){e.value.pathArray=e.value.pathArray.filter(function(e){return t.key!==e.key})}},[se("删除")])]);var n})),[ue(fe,{type:"default",onClick:function(){e.value.pathArray.push({key:x(16),sourcePath:"",isDir:!1,targetPath:e.value.pathArray.length>0?e.value.pathArray[e.value.pathArray.length-1].targetPath:""})}},{default:function(){return[se("添加传输文件")]}})]))},"filePath",{rules:[{required:!0,trigger:["blur","change"],validator:function(t,n,r){Bt(e.value.pathArray,r)}}]})]))})},submit:function(){var e=p(s().m(function e(t,a){var o,u;return s().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,a();case 1:return u=(null===(o=v.value.find(function(e){return e.id===t.value.source_node}))||void 0===o?void 0:o.server_ip)||"",Nt(t,d.value,u,null==n?void 0:n.id,r),e.a(2,!0)}},e)}));return function(t,n){return e.apply(this,arguments)}}()}),h=m.BtForm,y=m.ref,b=m.submit,g=m.clearValidate,f({title:"".concat(d.value?"编辑":"添加","任务"),area:100,showFooter:!0,component:function(){return ue("div",{class:"p-[1.2rem]"},[ue(h,null,null)])},onConfirm:b}),e.n=1,t("file_src");case 1:_=e.v,v.value=_;case 2:return e.a(2)}},e)}));return function(t,n,r){return e.apply(this,arguments)}}(),Nt=function(e,t,n,r,a){var o=nt(),u=o.taskList;o.currentTaskId.value=0;var l={id:x(16),task_type:"cmd"===e.value.taskType?"command":"file",name:e.value.name};switch(e.value.taskType){case"cmd":"byCustom"===e.value.cmd_type?(l.script_content=e.value.script_content,l.script_type=e.value.script_type):(l.script_id=e.value.script_id,l.script_content=e.value.script_content);break;case"file":l.src_node_id=e.value.source_node,l.src_node_ip=n,l.path_list=e.value.pathArray.map(function(e){return{path:e.sourcePath,dst_path:e.targetPath,is_dir:e.isDir}})}if(a)a(l);else if(t){for(var c=0;c<u.value.length;c++)if(u.value[c].id===r){u.value[c]=i(i({},u.value[c]),l);break}}else u.value.push(l)},Bt=function(){var e=p(s().m(function e(t,n){var r,a,o,u;return s().w(function(e){for(;;)switch(e.n){case 0:if(0!=t.length){e.n=1;break}return!n&&P.error("请添加传输文件"),n&&n(new Error("请添加传输文件")),e.a(2,!1);case 1:r={},a=0;case 2:if(!(a<t.length)){e.n=7;break}o=t[a],u=!0,e.n=u===(""==o.sourcePath)?3:u===(""==o.targetPath)?4:5;break;case 3:return!n&&P.error("文件内容第".concat(a+1,"行")+"源文件路径不能为空"),n&&n(new Error("文件内容第".concat(a+1,"行")+"源文件路径不能为空")),e.a(2,!1);case 4:return!n&&P.error("文件内容第".concat(a+1,"行")+"目标文件路径不能为空"),n&&n(new Error("文件内容第".concat(a+1,"行")+"目标文件路径不能为空")),e.a(2,!1);case 5:r["".concat(o.sourcePath)]=o.targetPath;case 6:a++,e.n=2;break;case 7:return n&&n(),e.a(2,r)}},e)}));return function(t,n){return e.apply(this,arguments)}}(),Ft=function(){var e,t=nt(),n=t.contentType,r=t.isExecute,a=t.taskList,o=t.isCanReset,u=t.currentTaskId,c=t.serverObject,d=(e=$(),{createWebSocket:function(t,n){var r,a;null===(r=e.value)||void 0===r||r.close(),e.value=N({route:"/ws_modsoc",onMessage:n}),null===(a=e.value)||void 0===a||a.send(t)},closeWebSocket:function(){var t;null===(t=e.value)||void 0===t||t.close()}}),v=d.createWebSocket,m=d.closeWebSocket,y=$([]),b=$([]),g=$(!0),_=$(!1),k=function(){var e=p(s().m(function e(){return s().w(function(e){for(;;)switch(e.n){case 0:if(!r.value||o.value){e.n=1;break}return e.a(2,P.error("当前存在正在执行中的任务,请先停止并清空任务"));case 1:if(!u.value){e.n=3;break}return e.n=2,h({title:"提示",content:"是否清空当前任务列表并新建任务?"});case 2:a.value=[],u.value=0,o.value=!1,r.value=!1;case 3:Dt(C);case 4:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),w=function(){var e=p(s().m(function e(){var t,n=arguments;return s().w(function(e){for(;;)switch(e.n){case 0:if(t=!(n.length>0&&void 0!==n[0])||n[0],!r.value){e.n=1;break}return e.a(2,P.error("当前任务正在执行,无法清空,请先停止任务"));case 1:if(!t){e.n=2;break}return e.n=2,h({title:"清空任务",content:"确定清空当前任务吗?"});case 2:O(),a.value=[];case 3:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),x=function(){var e=p(s().m(function e(t){var n,l,c,d,f,p,v,h,y,b=arguments;return s().w(function(e){for(;;)switch(e.n){case 0:if(c=b.length>1&&void 0!==b[1]&&b[1],_.value=!0,null===(n=t.data)||void 0===n||!n.steps){e.n=1;break}u.value=t.data.id,a.value=a.value.map(function(e,n){return i(i({},e),t.data.steps[n])}),e.n=7;break;case 1:if(null===(l=t.data)||void 0===l||!l.task_id){e.n=2;break}d=t.data,f=d.complete,p=d.error,v=d.count,h=v==p+f?p>0?"error":"success":void 0,a.value[t.data.flow_idx].status=h,t.data.data.forEach(function(e){a.value[t.data.flow_idx].result||(a.value[t.data.flow_idx].result=[]),a.value[t.data.flow_idx].result[e.log_idx]=e}),e.n=7;break;case 2:if("error"!==t.type){e.n=3;break}P.error(t.msg),u.value&&(o.value=!0),r.value=!1,m(),e.n=7;break;case 3:y=0;case 4:if(!(y<a.value.length)){e.n=6;break}if("error"!=a.value[y].status){e.n=5;break}return o.value=!0,e.a(3,6);case 5:y++,e.n=4;break;case 6:!c&&P.success("任务执行完成"),Ee(function(){r.value=!1}),m();case 7:return e.a(2)}},e)}));return function(t){return e.apply(this,arguments)}}(),C=function(){var e=p(s().m(function e(){var t,n,r=arguments;return s().w(function(e){for(;;)switch(e.n){case 0:return t=r.length>0&&void 0!==r[0]?r[0]:"all",e.n=1,l({request:I({node_type:t})});case 1:if((n=e.v).status){e.n=2;break}return P.error(n.msg),e.a(2,[]);case 2:if("file_src"!==t){e.n=3;break}return e.a(2,n.data.data);case 3:y.value=n.data.data,n.data.data.forEach(function(e){c.value[e.id]=e.remarks});case 4:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),j=function(){var e=p(s().m(function e(){var t,n;return s().w(function(e){for(;;)switch(e.n){case 0:if(!r.value){e.n=1;break}return m(),l({request:U({flow_id:u.value}),loading:"正在停止任务...",message:!0,success:function(e){e.status&&(r.value=!1,o.value=!0)}}),e.a(2);case 1:if(b.value.length||o.value){e.n=2;break}return e.a(2,P.error("请选择执行节点"));case 2:t={mod_name:"node",sub_mod_name:"executor",def_name:o.value?"retry_flow":"run_flow_task",callback:o.value?"retry_flow":"run_flow_task",data:i({},o.value?{flow_id:u.value}:{node_ids:b.value,flow_data:a.value,exclude_when_error:g.value})},r.value=!0,o.value=!1,n=P.load("开始创建任务..."),v(t,function(e,t){var r=JSON.parse(t.data);x(r),Ee(function(){n.close()})});case 3:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),O=function(){b.value=[],o.value=!1,r.value=!1,u.value=0},V=function(e,t){var n,r=R({data:function(){return{name:"",description:"",taskList:t||[]}},options:Ve(function(){return[Je("模板名称","name",{attrs:{placeholder:"请输入模板名称",class:"!w-[400px]",clearable:!0},rules:[{required:!0,message:"请输入模板名称",trigger:["blur","change"]}]}),$e("描述","description",{attrs:{placeholder:"请输入描述",class:"!w-[400px]",autosize:{minRows:3,maxRows:6},clearable:!0}}),Ye("任务列表",function(){return ue("div",{class:"w-full"},[ue("div",{class:"flex flex-col gap-[1.2rem] w-full drug-template-list max-h-[60rem] overflow-y-auto"},[u.value.taskList.map(function(e){return ue(Ot,{task:e,key:e.id,type:"template",onDelete:function(e){u.value.taskList=u.value.taskList.filter(function(t){return t.id!==e})}},null)})]),ue(fe,{type:"default",class:"w-[7.4rem]",onClick:function(){return Dt(C,void 0,function(e){u.value.taskList.push(e),i()})}},{default:function(){return[se("添加任务")]}})])},"taskList",{rules:[{required:!0,validator:function(e,t,n){0===u.value.taskList.length?n(new Error("请添加任务")):n()},trigger:["change"]}]})]}),submit:(n=p(s().m(function t(n,r){var a;return s().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,r();case 1:return t.n=2,l({request:B({name:n.value.name,content:JSON.stringify({flow_data:n.value.taskList}),description:n.value.description}),message:!0,success:function(){null==e||e()}});case 2:return a=t.v,t.a(2,a.status)}},t)})),function(e,t){return n.apply(this,arguments)})}),a=r.BtForm,o=r.submit,u=r.param,i=r.clearValidate,c=ee({setup:function(e,t){return(0,t.expose)({onConfirm:o}),te(function(){var e,t=document.querySelector(".drug-template-list");L.create(t,{animation:500,handle:".svgtofont-icon-drag",scroll:!0,forceAutoScrollFallback:!0,scrollSensitivity:200,scrollSpeed:15,chosenClass:"ghost",onEnd:(e=p(s().m(function e(t){var n;return s().w(function(e){for(;;)switch(e.n){case 0:n=u.value.taskList.splice(t.oldIndex,1)[0],u.value.taskList.splice(t.newIndex,0,n);case 1:return e.a(2)}},e)})),function(t){return e.apply(this,arguments)})})}),function(){return ue("div",{class:"p-[2rem]"},[ue(a,null,null)])}}});f({title:"创建任务模板",area:110,showFooter:!0,component:function(){return ue(c,null,null)}})},A=function(){var e=p(s().m(function e(){return s().w(function(e){for(;;)switch(e.n){case 0:try{V(void 0,Tt(a.value))}catch(t){console.log(t)}case 1:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),E=function(){var e=p(s().m(function e(){var t;return s().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,e.n=1,h({title:"重置任务状态",content:"确定重置当前任务状态吗?"});case 1:a.value=Tt(a.value),_.value=!0,o.value=!1,r.value=!1,u.value=0,e.n=3;break;case 2:e.p=2,t=e.v,console.log(t);case 3:return e.a(2)}},e,null,[[0,2]])}));return function(){return e.apply(this,arguments)}}();return{openTaskTemplate:function(){var e=ee({setup:function(){var e,t,n,i=xe("popupClose",function(){}),c=S({request:(n=p(s().m(function e(t){var n;return s().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,l({request:F({p:t.p,limit:t.limit})});case 1:if((n=e.v).status){e.n=2;break}return e.a(2,{data:[],total:0});case 2:return e.a(2,{data:n.data.data,total:T(n.data.page)})}},e)})),function(e){return n.apply(this,arguments)}),columns:[{label:"名称",prop:"name",width:210},{label:"描述",prop:"description"},Fe([{onClick:(t=p(s().m(function e(t){var n;return s().w(function(e){for(;;)switch(e.p=e.n){case 0:if(e.p=0,!r.value){e.n=1;break}return e.a(2,P.error("当前任务正在执行,无法清空,请先停止任务"));case 1:return e.n=2,h({title:"添加到任务列表",content:"将清空当前任务列表并将模板中的任务添加到任务列表中,是否继续?"});case 2:o.value=!1,r.value=!1,u.value=0,a.value=JSON.parse(t.content).flow_data,_.value=!0,i(),e.n=4;break;case 3:e.p=3,n=e.v,console.log(n);case 4:return e.a(2)}},e,null,[[0,3]])})),function(e){return t.apply(this,arguments)}),width:90,title:"添加到任务列表"},{onClick:(e=p(s().m(function e(t){var n;return s().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,e.n=1,h({title:"删除任务模板",content:"确定删除该任务模板吗?"});case 1:return e.n=2,l({request:G({id:t.id}),message:!0,success:function(){m()}});case 2:e.n=4;break;case 3:e.p=3,n=e.v,console.log(n);case 4:return e.a(2)}},e,null,[[0,3]])})),function(t){return e.apply(this,arguments)}),title:"删除"}])]}),d=c.BtTable,f=c.BtRefresh,v=c.BtPage,m=c.refresh,y=M({options:[{type:"button",active:!0,label:"添加",onClick:function(){return V(m)}}]}).BtOperation;return function(){return ue(J,{class:"p-[1.2rem]"},{"header-left":function(){return ue(y,null,null)},"header-right":function(){return ue(f,null,null)},content:function(){return ue(d,{"max-height":"500px"},null)},"footer-right":function(){return ue(v,null,null)}})}}});f({title:"任务模板",area:85,component:function(){return ue(e,null,null)}})},contentType:n,serverList:y,selectedServers:b,fetchServerList:C,submit:j,init:function(){v({mod_name:"node",sub_mod_name:"executor",def_name:"flow_task_status",callback:"flow_task_status",data:{}},function(e,t){var n,r=JSON.parse(t.data);"end"!==r.type?_.value=!0:r.last_flow&&(null===(n=r.last_flow)||void 0===n?void 0:n.id)===u.value&&a.value.length>0&&(r.data=r.last_flow);x(r,!0)})},isAll:g,createTask:k,rowDrop:function(){var e,t=document.querySelector(".drug-task-list");L.create(t,{animation:500,handle:".svgtofont-icon-drag",chosenClass:"ghost",onEnd:(e=p(s().m(function e(t){var n;return s().w(function(e){for(;;)switch(e.n){case 0:n=a.value.splice(t.oldIndex,1)[0],a.value.splice(t.newIndex,0,n);case 1:return e.a(2)}},e)})),function(t){return e.apply(this,arguments)})})},taskList:a,isShowTaskList:_,editTask:function(e){Dt(C,e)},clearTask:w,isCanReset:o,isExecute:r,saveAsTemplate:A,resetTaskStatus:E}},Gt={class:"p-[1.2rem]"},Mt={class:"flex items-baseline"},Ht={class:"ml-[2rem] text-small leading-[3rem] text-tertiary"},Wt={class:"ml-[2rem] text-small leading-[3rem] text-tertiary"},Jt={class:"flex items-center mt-[1.2rem]"},Xt={class:"drug-task-list mt-[1.2rem] w-[107rem]"},Yt={class:"w-[107rem]"},Zt=ee({__name:"index",setup:function(e,t){var n=t.expose,r=Ft(),o=r.selectedServers,u=r.serverList,l=r.fetchServerList,i=r.submit,c=r.init,d=r.isAll,f=r.createTask,v=r.rowDrop,m=r.taskList,h=r.editTask,y=r.clearTask,b=r.isExecute,g=r.isCanReset,_=r.isShowTaskList,k=r.openTaskTemplate,w=r.saveAsTemplate,x=r.resetTaskStatus,S=Le();return qe("script"),te(p(s().m(function e(){return s().w(function(e){for(;;)switch(e.n){case 0:return c(),e.n=1,l();case 1:v();case 2:return e.a(2)}},e)}))),n({init:c}),function(e,t){var n=fe,r=Te,c=Ne;return ae(),oe("div",Gt,[ie("div",Mt,[t[5]||(t[5]=ie("h3",{class:"text-medium font-medium leading-[3rem]"},"选择执行节点:",-1)),ie("span",Ht,Ie("已选择".concat(ce(o).length,"个节点")),1),ie("span",Wt,[t[4]||(t[4]=se(Ie("关联SSH后可通过分发管理进行群发命令")+" ",-1)),ie("span",{class:"bt-link ml-[.5rem]",onClick:t[0]||(t[0]=function(e){return ce(S).push("/node/node-mgt")})}," 前往添加节点 ")])]),ue(ce(Rt),{class:"w-[107rem]",value:ce(o),"onUpdate:value":t[1]||(t[1]=function(e){return Ue(o)?o.value=e:null}),options:ce(u),onGoAddNode:t[2]||(t[2]=function(e){return ce(S).push("/node/node-mgt")}),onRefresh:ce(l)},null,8,["value","options","onRefresh"]),ie("div",Jt,[ue(n,{type:"primary",onClick:ce(f)},{default:le(function(){return a(t[6]||(t[6]=[se("添加任务",-1)]))}),_:1},8,["onClick"]),ue(n,{type:"default",onClick:ce(k)},{default:le(function(){return a(t[7]||(t[7]=[se("任务模板",-1)]))}),_:1},8,["onClick"]),ue(n,{type:"default",class:"!hover:bg-[var(--el-color-danger-light-9)] !hover:text-danger !hover:border-[var(--el-color-danger-light-5)]",plain:"",onClick:ce(y)},{default:le(function(){return a(t[8]||(t[8]=[se("清空任务列表",-1)]))}),_:1},8,["onClick"]),ue(r,{modelValue:ce(d),"onUpdate:modelValue":t[3]||(t[3]=function(e){return Ue(d)?d.value=e:null}),class:"ml-[1.2rem]"},{default:le(function(){return a(t[9]||(t[9]=[se("失败后中断对应节点的后续任务",-1)]))}),_:1},8,["modelValue"])]),de(ie("div",Xt,[(ae(!0),oe(he,null,ze(ce(m),function(e,t){return ae(),De(ce(Ot),{key:e.id,task:e,index:t,onEdit:ce(h)},null,8,["task","index","onEdit"])}),128))],512),[[Re,ce(_)]]),ie("div",Yt,[de(ue(n,{type:ce(b)?"danger":"primary",size:"large",class:"mt-[1.2rem] !text-base",style:{padding:"8px 16px !important"},onClick:ce(i)},{default:le(function(){return[se(Ie(ce(b)?"停止":ce(g)?"重试失败项":"执行"),1)]}),_:1},8,["type","onClick"]),[[Re,ce(m).length>0&&ce(_)]]),de(ue(n,{type:"default",size:"large",class:"mt-[1.2rem] !text-base",style:{padding:"8px 16px !important"},onClick:ce(x)},{default:le(function(){return a(t[10]||(t[10]=[se(" 重置任务状态 ",-1)]))}),_:1},8,["onClick"]),[[Re,ce(m).length>0&&!ce(b)]]),de(ue(n,{type:"default",size:"large",class:"mt-[1.2rem] !text-base",style:{padding:"8px 16px !important"},onClick:ce(w)},{default:le(function(){return a(t[11]||(t[11]=[se(" 另存为模板 ",-1)]))}),_:1},8,["onClick"]),[[Re,ce(m).length>0&&!ce(b)]]),de(ue(c,{description:"还没有添加任务"},{default:le(function(){return[ue(n,{type:"primary",onClick:ce(f)},{default:le(function(){return a(t[12]||(t[12]=[se("添加第一个任务",-1)]))}),_:1},8,["onClick"])]}),_:1},512),[[Re,0===ce(m).length||!ce(_)]])])])}}}),$t=H(Zt,[["__scopeId","data-v-f7287471"]]),Kt={class:"module-ui"},Qt=ee({__name:"index",setup:function(e){var t=nt().activeTabs,n=$([{label:"分发",name:"script-distribute",lazy:!0,render:function(){return ue($t,null,null)}},{label:"执行日志",name:"mass-table",lazy:!0,render:function(){return ue(Ut,null,null)}},{label:"脚本库",name:"script-table",lazy:!0,render:function(){return ue(xt,null,null)}}]);return function(e,r){var a=W;return ae(),oe("div",Kt,[ue(a,{type:"card",modelValue:ce(t),"onUpdate:modelValue":r[0]||(r[0]=function(e){return Ue(t)?t.value=e:null}),options:ce(n)},null,8,["modelValue","options"])])}}}),en=Object.freeze(Object.defineProperty({__proto__:null,default:Qt},Symbol.toStringTag,{value:"Module"}));e("i",en)}}})}();