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