9 lines
12 KiB
JavaScript
9 lines
12 KiB
JavaScript
import{g as re,r as se,_ as me,W as ie,l as u,k as y,m as w,n as r,t as d,p as a,I as A,E as C,F as b,az as I,D as U,G as E,H as N,B as ce,am as ue,ak as de,aB as pe,bc as fe,an as q,aN as ge,aU as _e}from"./vendor/index.CRpmXtWV.js";import{C as ye}from"./index.CnEiBLPu.js";import{j as z,R as M,s as ve,d as he,t as we,w as Se}from"../index.D-NvtsOM.js";import{u as V}from"./neinfo.CsfhUo_f.js";import{u as ke}from"./file.BexoPAcX.js";import"./neInfo.DNMxf4Rh.js";import"./parse-tree-utils.CVXqlbRx.js";import"./task.DBr8g4rv.js";async function Ce(){const k=await z({url:"/api/rest/databaseManagement/v1/elementType/omc_db/objectType/mml_command",method:"get",params:{SQL:"select * from mml_command where ne_type = 'OMC' and status = 'Active'"}});if(k.code===M&&Array.isArray(k.data.data)){let s=k.data.data[0];return Object.assign(k,{data:ve(s.mml_command)})}return k}async function be(k,s){const S=await z({url:`/api/rest/operationManagement/v1/elementType/OMC/objectType/mml?ne_id=${k}`,method:"post",data:{mml:s},timeout:18e4});return S.code===M&&Array.isArray(S.data.data)&&(S.data=S.data.data),S}const je=re({__name:"index",setup(k){const{t:s}=he();let S=se([]),e=me({neId:void 0,mmlTreeData:[],mmlSelect:{title:"",key:"",operation:"",object:"",param:[]},from:{uploadLoading:!1,sendLoading:!1},autoCompleteValue:"",autoCompleteData:[],autoCompleteSearch:[],mmlCmdLog:""});function B(i,t){if(e.mmlSelect=t.node.dataRef,e.from={},Array.isArray(e.mmlSelect.param)){for(const m of e.mmlSelect.param)if(typeof m.value<"u"&&m.value!=""){const n=m.type;["enum","int"].includes(n)?e.from[m.name]=Number(m.value):n==="bool"?e.from[m.name]=!!m.value:e.from[m.name]=m.value}}e.autoCompleteValue=`${e.mmlSelect.operation} ${e.mmlSelect.object}`.trim(),window.scrollTo({top:0,behavior:"smooth"})}function F(){e.mmlCmdLog=""}function T(){e.mmlSelect={title:"",key:"",operation:"",object:"",param:[]},e.from={}}function $(){if(e.from.sendLoading)return;if(!e.neId){u.message.warning({content:s("views.mmlManage.udmOpesrate.noOMC"),duration:5});return}let i=[];const t=e.mmlSelect.operation,m=e.mmlSelect.object;let n=[];const l=q(e.mmlSelect.param)||[];if(t&&Array.isArray(l)){const o=q(e.from);for(const g of l){const _=o[g.name],v=_==null||_==="";if(g.optional==="false"&&v){u.message.warning(s("views.mmlManage.require",{num:g.display}),2);return}if(!Reflect.has(o,g.name)||v)continue;const[O,x]=J(g,o[g.name]);if(!O){u.message.warning({content:`${x}`,duration:3});return}n.push(`${g.name}=${o[g.name]}`)}const c=n.join(",");let p="";m&&c?p=`${t} ${m}:${c}`:m?p=`${t} ${m}`:p=`${t} ${c}`,i=[p.trim()]}if(i.length>0)e.autoCompleteValue=i[0];else{let o=e.autoCompleteValue;o.indexOf(`
|
|
`)!==-1&&(o=o.replace(/(\r\n|\n)/g,";")),i=o.split(";")}e.from.sendLoading=!0,be(e.neId,i).then(o=>{if(e.from.sendLoading=!1,o.code===M){let c=o.data;for(let p=0;p<c.length;p++){const _=c[p].replace(/(\r\n|\n)/g,`
|
|
`),v=i[p];e.mmlCmdLog+=`${v}
|
|
${_}
|
|
`}}else e.mmlCmdLog+=`${o.msg}
|
|
`}).finally(()=>{const o=document.getElementsByClassName("cm-scroller")[0];o&&(o.scrollTop=o.scrollHeight)})}function R(i,t){const m=e.neId;if(!m){u.message.warning({content:s("views.mmlManage.udmOpesrate.noOMC"),duration:5});return}u.Modal.confirm({title:s("common.tipTitle"),content:s("views.mmlManage.uploadFileTip"),onOk(){const n=u.message.loading(s("common.loading"),0);e.from.uploadLoading=!0,ke("OMC",m,i.file,5).then(l=>{l.code===M?(u.message.success(s("views.mmlManage.uploadFileOk"),3),e.from[t]=l.data):u.message.error(s("views.mmlManage.uploadFileErr"),3)}).finally(()=>{e.from.uploadLoading=!1,n()})}})}function J(i,t){let m=[!0,""];const n=i.type,l=i.filter,o=i.display;switch(n){case"int":if(l&&l.indexOf("~")!==-1){const c=l.split("~"),p=parseInt(c[0]),g=parseInt(c[1]),_=parseInt(t);if(_<p||_>g)return[!1,s("views.mmlManage.requireInt",{display:o,filter:l})]}break;case"ipv4":if(!Se.test(t))return[!1,s("views.mmlManage.requireIpv4",{display:o})];break;case"ipv6":if(!we.test(t))return[!1,s("views.mmlManage.requireIpv6",{display:o})];break;case"enum":if(l&&l.indexOf("{")===1){let c={};try{c=JSON.parse(l)}catch(p){console.error(p)}if(!Object.keys(c).includes(`${t}`))return[!1,s("views.mmlManage.requireEnum",{display:o})]}break;case"bool":if(l&&l.indexOf("{")===1){let c={};try{c=JSON.parse(l)}catch(p){console.error(p)}if(!Object.values(c).includes(`${t}`))return[!1,s("views.mmlManage.requireBool",{display:o})]}break;case"string":if(l&&l.indexOf("~")!==-1)try{const c=l.split("~");if(!new RegExp("^\\S{"+c[0]+","+c[1]+"}$").test(t))return[!1,s("views.mmlManage.requireString",{display:o})]}catch(c){console.error(c)}break;case"regex":if(l)try{if(!new RegExp(l).test(t))return[!1,s("views.mmlManage.requireString",{display:o})]}catch(c){console.error(c)}break;case"file":if(l&&l.split(",").filter(g=>t.endsWith(g)).length===0)return[!1,s("views.mmlManage.requireFile",{display:o})];break;default:console.warn(s("views.mmlManage.requireUn",{display:o}),n)}return m}function P(){Ce().then(i=>{if(i.code===M&&Array.isArray(i.data)){const t=[],m=[];for(const n of i.data){const l=n.id,o=n.object,c=n.operation,p=n.mmlDisplay;let g=[];try{g=JSON.parse(n.paramJson)}catch(v){console.error(v)}const _=m.findIndex(v=>v.key==n.category);_<0?(m.push({title:n.catDisplay,key:n.category,selectable:!1,children:[{key:l,title:p,object:o,operation:c,param:g}]}),t.push({value:n.catDisplay,key:n.category,selectable:!1,options:[{key:l,value:p,object:o,operation:c,param:g}]})):(m[_].children.push({key:l,title:p,object:o,operation:c,param:g}),t[_].options.push({key:l,value:p,object:o,operation:c,param:g}))}e.mmlTreeData=m,e.autoCompleteData=t}else u.message.warning({content:s("views.mmlManage.cmdNoTip",{num:"OMC"}),duration:2})})}function K(i){e.autoCompleteSearch=[];for(const t of e.autoCompleteData){const m=t.options.filter(n=>`${n.operation} ${n.object}`.indexOf(i.toLowerCase())>=0);m.length>0&&e.autoCompleteSearch.push({value:t.value,key:t.value,selectable:!1,options:m})}}function H(i,t){e.mmlSelect={title:t.value,key:t.key,operation:t.operation,object:t.object,param:t.param},e.from={},e.autoCompleteValue=`${t.operation} ${t.object}`.trim()}function G(i,t){if(i.indexOf(";")!==-1||i.indexOf(`
|
|
`)!==-1){T();return}for(const m of e.autoCompleteData){const n=m.options.find(l=>{const o=`${l.operation} ${l.object}`;return i.startsWith(o)});if(n){e.mmlSelect={title:n.value,key:n.key,operation:n.operation,object:n.object,param:n.param},e.from={};const l=`${n.operation} ${n.object}:`,o=i.replace(l,"");if(o.length>3){const c=o.split(",");for(const p of c){const g=p.split("=");g.length>=2&&(e.from[g[0]]=g[1])}}break}else e.mmlSelect={title:"",key:"",operation:"",object:"",param:[]}}}function Q(i){if(i.key==="Enter")if(i.preventDefault(),i.shiftKey){const t=i.target,m=t.selectionStart,n=t.selectionEnd,l=t.value;t.value=l.substring(0,m)+`
|
|
`+l.substring(n),e.autoCompleteValue=t.value,t.selectionStart=t.selectionEnd=m+1}else $()}return ie(()=>{V().fnNelist().then(i=>{if(i.code===M&&Array.isArray(i.data))if(i.data.length>0){const t=V().getNeSelectOtions.find(m=>m.value==="OMC");t&&(S.value=t.children),S.value.length>0&&(e.neId=S.value[0].value,P())}else u.message.warning({content:s("views.mmlManage.omcOperate.noOMC"),duration:5});else u.message.warning({content:s("common.noData"),duration:2})})}),(i,t)=>{const m=u.Select,n=u.FormItem,l=u.DirectoryTree,o=u.Form,c=u.Card,p=u.Col,g=u.TypographyText,_=pe,v=u.Button,O=fe,x=u.Space,W=u.Textarea,X=u.AutoComplete,Y=u.Divider,Z=u.InputNumber,ee=u.Switch,te=u.SelectOption,L=u.Input,ae=_e,oe=u.Upload,ne=u.InputGroup,le=u.Tooltip,j=u.Row;return y(),w(a(de),null,{default:r(()=>[d(j,{gutter:16},{default:r(()=>[d(p,{lg:6,md:6,xs:24,style:{"margin-bottom":"24px"}},{default:r(()=>[d(c,{size:"small",bordered:!1,title:a(s)("views.mmlManage.cmdTitle")},{default:r(()=>[d(o,{layout:"vertical",autocomplete:"off"},{default:r(()=>[d(n,{name:"neId "},{default:r(()=>[d(m,{value:a(e).neId,"onUpdate:value":t[0]||(t[0]=f=>a(e).neId=f),options:a(S),placeholder:a(s)("common.selectPlease")},null,8,["value","options","placeholder"])]),_:1}),a(e).mmlTreeData.length>0?(y(),w(n,{key:0,name:"mmlTree"},{default:r(()=>[d(l,{"tree-data":a(e).mmlTreeData,"default-expand-all":"",onSelect:B,selectedKeys:[a(e).mmlSelect.key]},null,8,["tree-data","selectedKeys"])]),_:1})):A("",!0)]),_:1})]),_:1},8,["title"])]),_:1}),d(p,{lg:18,md:18,xs:24},{default:r(()=>[d(c,{size:"small",bordered:!1},{title:r(()=>[a(e).mmlSelect.title?(y(),w(g,{key:0,strong:""},{default:r(()=>[C(b(a(e).mmlSelect.title),1)]),_:1})):(y(),w(g,{key:1,type:"danger"},{default:r(()=>[C(b(a(s)("views.mmlManage.cmdOpTip")),1)]),_:1}))]),extra:r(()=>[d(x,{size:8},{default:r(()=>[a(e).mmlSelect.param?(y(),w(v,{key:0,type:"default",size:"small",onClick:I(T,["prevent"])},{icon:r(()=>[d(_)]),default:r(()=>[C(" "+b(a(s)("views.mmlManage.clearForm")),1)]),_:1})):A("",!0),d(v,{type:"primary",size:"small",loading:a(e).from.sendLoading,onClick:I($,["prevent"])},{icon:r(()=>[d(O)]),default:r(()=>[C(" "+b(a(s)("views.mmlManage.exec")),1)]),_:1},8,["loading"])]),_:1})]),default:r(()=>[d(o,{layout:"horizontal",autocomplete:"off","validate-on-rule-change":!1,validateTrigger:[]},{default:r(()=>[d(n,{label:a(s)("views.mmlManage.cmdQuickEntry"),help:a(s)("views.mmlManage.cmdQuickEntryHelp")},{default:r(()=>[d(X,{value:a(e).autoCompleteValue,"onUpdate:value":t[1]||(t[1]=f=>a(e).autoCompleteValue=f),"dropdown-match-select-width":500,style:{width:"100%"},options:a(e).autoCompleteSearch,onSearch:K,onSelect:H,onChange:G,onKeydown:Q},{default:r(()=>[d(W,{placeholder:a(s)("common.inputPlease"),"auto-size":""},null,8,["placeholder"])]),_:1},8,["value","options"])]),_:1},8,["label","help"])]),_:1}),a(e).mmlSelect.operation&&a(e).mmlSelect.param?(y(),w(o,{key:0,layout:"vertical",autocomplete:"off","validate-on-rule-change":!1,validateTrigger:[]},{default:r(()=>[d(Y,{orientation:"left"},{default:r(()=>[C(b(a(s)("views.mmlManage.cmdParamPanel")),1)]),_:1}),d(j,{gutter:16},{default:r(()=>[(y(!0),U(N,null,E(a(e).mmlSelect.param,f=>(y(),w(p,{lg:6,md:12,xs:24},{default:r(()=>[d(n,{label:f.display,name:f.name,required:f.optional==="false"},{default:r(()=>[d(le,null,ge({default:r(()=>[f.type==="int"?(y(),w(Z,{key:0,value:a(e).from[f.name],"onUpdate:value":h=>a(e).from[f.name]=h,style:{width:"100%"}},null,8,["value","onUpdate:value"])):f.type==="bool"?(y(),w(ee,{key:1,checked:a(e).from[f.name],"onUpdate:checked":h=>a(e).from[f.name]=h,"checked-children":a(s)("common.switch.open"),"un-checked-children":a(s)("common.switch.shut")},null,8,["checked","onUpdate:checked","checked-children","un-checked-children"])):f.type==="enum"?(y(),w(m,{key:2,value:a(e).from[f.name],"onUpdate:value":h=>a(e).from[f.name]=h,"allow-clear":f.optional==="true"},{default:r(()=>[(y(!0),U(N,null,E(JSON.parse(f.filter),(h,D)=>(y(),w(te,{value:D,key:D},{default:r(()=>[C(b(h),1)]),_:2},1032,["value"]))),128))]),_:2},1032,["value","onUpdate:value","allow-clear"])):f.type==="file"?(y(),w(ne,{key:3,compact:""},{default:r(()=>[d(L,{value:a(e).from[f.name],"onUpdate:value":h=>a(e).from[f.name]=h,style:{width:"calc(100% - 32px)"}},null,8,["value","onUpdate:value"]),d(oe,{name:"file","list-type":"text",accept:f.filter,"max-count":1,"show-upload-list":!1,"custom-request":h=>R(h,f.name)},{default:r(()=>[d(v,{type:"primary",loading:a(e).from.uploadLoading},{icon:r(()=>[d(ae)]),_:1},8,["loading"])]),_:2},1032,["accept","custom-request"])]),_:2},1024)):(y(),w(L,{key:4,value:a(e).from[f.name],"onUpdate:value":h=>a(e).from[f.name]=h},null,8,["value","onUpdate:value"]))]),_:2},[f.comment?{name:"title",fn:r(()=>[C(b(f.comment),1)]),key:"0"}:void 0]),1024)]),_:2},1032,["label","name","required"])]),_:2},1024))),256))]),_:1})]),_:1})):A("",!0)]),_:1}),ce(d(c,{title:a(s)("views.mmlManage.cmdConsole"),bordered:!1,size:"small","body-style":{padding:0},style:{"margin-top":"16px"}},{extra:r(()=>[d(x,{size:8,align:"center"},{default:r(()=>[d(v,{type:"default",size:"small",onClick:I(F,["prevent"])},{icon:r(()=>[d(_)]),default:r(()=>[C(" "+b(a(s)("views.mmlManage.clearLog")),1)]),_:1})]),_:1})]),default:r(()=>[d(ye,{value:a(e).mmlCmdLog,disabled:!0,height:"500px"},null,8,["value"])]),_:1},8,["title"]),[[ue,a(e).mmlSelect.operation||a(e).autoCompleteValue]])]),_:1})]),_:1})]),_:1})}}});export{je as default};
|