import{d as re,O as we,k as _,v as Z,p as Se,m as ke,r as xe,o as v,x as I,b as e,a as t,F as ee,h as te,u as s,c as U,z as d,t as g,B as N,M as je,E as Ue,y as oe,A as B,G as Ne,H as Oe}from"./vue.1703796278973.js";import{_ as qe}from"./index.vue_vue_type_script_setup_true_name_PermissionButton_lang.1703796278973.js";import{F as se,aN as ae,cx as He,cy as $e,I as Le,r as Fe,av as Je,aw as Re,Y as Be,cE as De,k as Ee,a9 as Ae,a5 as Ke,a6 as Ve,aC as Ge,aD as Me,K as Te,aG as Qe}from"./index.17037962789732.js";import"./index.170379627897314.js";import"./index.170379627897315.js";import{_ as ze}from"./index.17037962789739.js";import"./index.1703796278973309.js";import"./index.170379627897318.js";import"./index.170379627897319.js";import"./index.170379627897325.js";import"./index.170379627897316.js";import"./index.170379627897317.js";import"./index.1703796278973301.js";import"./index.170379627897327.js";import"./index.1703796278973316.js";import"./index.170379627897330.js";import"./default.1703796278973.js";import"./index.170379627897310.js";import"./index.17037962789737.js";import{k as Ye,l as We,s as Xe,u as Ze}from"./accessConfig.1703796278973.js";import{o as le}from"./comm.1703796278973.js";import{_ as et}from"./_plugin-vue_export-helper.1703796278973.js";import"./index.170379627897320.js";import"./index.170379627897321.js";import"./permission.1703796278973.js";import"./index.17037962789733.js";import"./dayjs.min.1703796278973.js";import"./isArray.1703796278973.js";import"./editor.api.1703796278973.js";import"./preload-helper.1703796278973.js";import"./monaco.contribution.1703796278973.js";import"./system.1703796278973.js";import"./index.170379627897332.js";import"./index.170379627897333.js";import"./index.170379627897334.js";import"./consts.1703796278973.js";import"./404.1703796278973.js";const k=y=>(Ne("data-v-60574af9"),y=y(),Oe(),y),tt={style:{"margin-top":"10px"}},ot={class:"steps-content"},st={key:0,class:"steps-box"},at={class:"alert"},lt={key:0,class:"form-item1"},rt=k(()=>d("div",{class:"form-label"},null,-1)),nt=k(()=>d("div",{class:"form-label"},null,-1)),ut={key:0},it=["onClick"],dt=k(()=>d("div",{class:"form-label"},null,-1)),pt=k(()=>d("div",{class:"form-label"},null,-1)),ct={key:1,class:"steps-box"},mt={class:"doc",style:{height:"400px"}},_t=k(()=>d("h1",null,"接入方式",-1)),vt=k(()=>d("h1",null,"消息协议",-1)),ft={class:"steps-action"},ht=re({name:"AccessNetwork"}),gt=re({...ht,props:{provider:{type:Object,default:()=>{}},data:{type:Object,default:()=>{}}},setup(y){const D=y,L=we(),ne=L.query.view,O=L.params.id,q=_(!1),b=_([]),E=document.body.clientHeight,A=_(),K=_(),ue=se.useForm,f=_(0),V=_(0),ie=_(["信令配置","完成"]),C=_({name:"",description:""});let n=_({domain:void 0,sipId:void 0,shareCluster:!0,hostPort:{port:void 0,host:"0.0.0.0",publicPort:void 0,publicHost:void 0}}),S={configuration:{}},H=[];const G=_([]),M=_([]),T=_([]),Q=_([]),h=Z({cluster:[]}),de=a=>{let o=h.cluster.indexOf(a);o!==-1&&h.cluster.splice(o,1)},pe=()=>{const a=Date.now();h.cluster.push({clusterNodeId:void 0,port:void 0,host:void 0,publicPort:void 0,publicHost:void 0,id:a}),b.value=[...b.value,a.toString()]},x=(a,o)=>o.label.toLowerCase().indexOf(a.toLowerCase())>=0,ce=a=>{var r;h.cluster[a].port=void 0;const o=h.cluster[a].host;T.value[a]=(r=H.find(i=>i.host===o))==null?void 0:r.portList.map(i=>({value:JSON.stringify({host:o,port:i.port}),label:`${i.transports.join("/")} (${i.port})`}))},{resetFields:yt,validate:me,validateInfos:z}=ue(C,Z({name:[{required:!0,message:"请输入名称",trigger:"blur"},{max:64,message:"最多可输入64个字符",trigger:"blur"}],description:[{max:200,message:"最多可输入200个字符"}]})),_e=()=>{me().then(async a=>{S={...S,...a,provider:"gb28181-2016",transport:"SIP",channel:"gb28181"},q.value=!0;const o=O===":id"?await Xe(S).catch(()=>{q.value=!1}):await Ze({...S,id:O}).catch(()=>{q.value=!1});(o==null?void 0:o.status)===200&&(le("操作成功","success"),L.query.save?(window==null||window.onTabSaveSuccess(o),setTimeout(()=>window.close(),300)):history.back())})},ve=async()=>{var o,r;let a=await((o=A.value)==null?void 0:o.validate());ae(a.hostPort.port)||(a.hostPort.port=JSON.parse(a.hostPort.port).port),a!=null&&a.shareCluster?(f.value=f.value+1,S.configuration=a):await((r=K.value)==null?void 0:r.validate().then(i=>{if(i&&(i!=null&&i.cluster))i.cluster.forEach(p=>{p.enabled=!0,p.port=ae(p.port)?p.port:JSON.parse(p.port).port}),a={...a,...i};else return le("请新增或完善配置","error");f.value=f.value+1,S.configuration=a}).catch(i=>{var p;(p=i.errorFields)==null||p.forEach(w=>{const u=h.cluster[w.name[1]].id;b.value.includes(u)||b.value.push(u)})}))},fe=()=>{f.value=f.value-1,Y()},Y=()=>{h.cluster.length!==0&&h.cluster.forEach(a=>{const o=JSON.stringify(Date.now()+Math.random());a.id=o,b.value.push(o)})};return Se(()=>{if(Ye().then(a=>{var o;a.status===200&&(H=a.result,G.value=H.map(r=>({value:r.host,label:r.host})),M.value=(o=H.find(r=>r.host==="0.0.0.0"))==null?void 0:o.portList.map(r=>({value:JSON.stringify({host:"0.0.0.0",port:r.port}),label:`${r.transports.join("/")} (${r.port})`})))}),We().then(a=>{if(a.status===200){const o=a.result.map(r=>({value:r.id,label:r.name}));Q.value=o}}),O!==":id"){const{configuration:a,name:o,description:r=""}=D.data;C.value={name:o,description:r},n.value={...n.value,...D.data.configuration},a!=null&&a.shareCluster||(h.cluster=a.cluster,Y())}}),ke(f,a=>{V.value=a},{deep:!0,immediate:!0}),(a,o)=>{const r=He,i=$e,p=xe("AIcon"),w=Le,u=Fe,c=Je,$=Re,F=Be,W=De,he=Ee,ge=Ae,j=Ke,X=Ve,J=se,ye=Ge,be=Me,R=Te,Pe=ze,Ie=Qe,Ce=qe;return v(),I("div",tt,[e(i,{current:s(V)},{default:t(()=>[(v(!0),I(ee,null,te(s(ie),l=>(v(),U(r,{disabled:"",key:l,title:l},null,8,["title"]))),128))]),_:1},8,["current"]),d("div",ot,[s(f)===0?(v(),I("div",st,[d("div",at,[e(p,{type:"InfoCircleOutlined"}),g(" 配置设备信令参数 ")]),e(J,{model:s(n),ref_key:"formRef1",ref:A,name:"basic",autocomplete:"off",layout:"vertical"},{default:t(()=>[e($,{gutter:[24,24]},{default:t(()=>[e(c,{span:12},{default:t(()=>[e(u,{label:"SIP 域",name:"domain",rules:[{required:!0,message:"请输入SIP 域"},{max:64,message:"最多可输入64个字符",trigger:"blur"}]},{default:t(()=>[e(w,{value:s(n).domain,"onUpdate:value":o[0]||(o[0]=l=>s(n).domain=l),placeholder:"请输入SIP 域"},null,8,["value"])]),_:1})]),_:1}),e(c,{span:12},{default:t(()=>[e(u,{label:"SIP ID",name:"sipId",rules:[{required:!0,message:"请输入SIP ID"},{max:64,message:"最多可输入64个字符",trigger:"blur"}]},{default:t(()=>[e(w,{value:s(n).sipId,"onUpdate:value":o[1]||(o[1]=l=>s(n).sipId=l),placeholder:"请输入SIP ID"},null,8,["value"])]),_:1})]),_:1})]),_:1}),e(u,{name:"shareCluster",rules:[{required:!0,message:"请选择集群"}]},{label:t(()=>[g(" 集群 "),e(F,{title:"共享配置:集群下所有节点共用同一配置,独立配置:集群下不同节点使用不同配置"},{default:t(()=>[e(p,{type:"QuestionCircleOutlined",style:{"margin-left":"2px"}})]),_:1})]),default:t(()=>[e(he,{value:s(n).shareCluster,"onUpdate:value":o[2]||(o[2]=l=>s(n).shareCluster=l)},{default:t(()=>[e(W,{value:!0},{default:t(()=>[g("共享配置")]),_:1}),e(W,{value:!1},{default:t(()=>[g("独立配置")]),_:1})]),_:1},8,["value"])]),_:1}),s(n).shareCluster?(v(),I("div",lt,[e($,{gutter:[24,24]},{default:t(()=>[e(c,{span:6},{default:t(()=>[e(u,{label:"SIP 地址",name:["hostPort","host"],rules:[{required:!0,message:"请选择SIP地址"}]},{default:t(()=>[e(j,{value:s(n).hostPort.host,"onUpdate:value":o[3]||(o[3]=l=>s(n).hostPort.host=l),style:{width:"105%"},disabled:!0,"show-search":"","filter-option":x},{default:t(()=>[e(ge,{value:"0.0.0.0"},{default:t(()=>[g("0.0.0.0")]),_:1})]),_:1},8,["value"])]),_:1})]),_:1}),e(c,{span:6},{default:t(()=>[e(u,{name:["hostPort","port"],rules:[{required:!0,message:"请选择端口"}]},{default:t(()=>[rt,e(j,{value:s(n).hostPort.port,"onUpdate:value":o[4]||(o[4]=l=>s(n).hostPort.port=l),options:s(M),placeholder:"请选择端口",allowClear:"","show-search":"","filter-option":x},null,8,["value","options"])]),_:1})]),_:1}),e(c,{span:6},{default:t(()=>[e(u,{label:"公网 Host",name:["hostPort","publicHost"],rules:[{required:!0,message:"请输入IP地址"},{pattern:/^([0-9]|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.([0-9]|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.([0-9]|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.([0-9]|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])$/,message:"请输入正确的IP地址"}]},{default:t(()=>[e(w,{style:{width:"105%"},value:s(n).hostPort.publicHost,"onUpdate:value":o[5]||(o[5]=l=>s(n).hostPort.publicHost=l),placeholder:"请输入IP地址"},null,8,["value"])]),_:1},8,["rules"])]),_:1}),e(c,{span:6},{default:t(()=>[e(u,{name:["hostPort","publicPort"],rules:[{required:!0,message:"输入端口"}]},{default:t(()=>[nt,e(X,{style:{width:"100%"},placeholder:"请输入端口",value:s(n).hostPort.publicPort,"onUpdate:value":o[6]||(o[6]=l=>s(n).hostPort.publicPort=l),min:1,max:65535},null,8,["value"])]),_:1})]),_:1})]),_:1})])):N("",!0)]),_:1},8,["model"]),s(n).shareCluster?N("",!0):(v(),I("div",ut,[e(J,{ref_key:"formRef2",ref:K,layout:"vertical",name:"dynamic_form_nest_item",model:s(h)},{default:t(()=>[(v(!0),I(ee,null,te(s(h).cluster,(l,P)=>(v(),I("div",{key:l.id},[e(be,{activeKey:s(b),"onUpdate:activeKey":o[7]||(o[7]=m=>je(b)?b.value=m:null)},{default:t(()=>[(v(),U(ye,{key:l.id,header:l.clusterNodeId?l.clusterNodeId:`#${P+1}.配置信息`},{extra:t(()=>[d("span",{onClick:m=>de(l),class:"delete-btn"},"删除",8,it)]),default:t(()=>[e($,{gutter:[24,24]},{default:t(()=>[e(c,{span:8},{default:t(()=>[e(u,{label:"节点名称",name:["cluster",P,"clusterNodeId"],rules:{required:!0,message:"请选择节点名称"}},{default:t(()=>[e(j,{value:l.clusterNodeId,"onUpdate:value":m=>l.clusterNodeId=m,options:s(Q),placeholder:"请选择节点名称",allowClear:"","show-search":"","filter-option":x},null,8,["value","onUpdate:value","options","filter-option"])]),_:2},1032,["name"])]),_:2},1024),e(c,{span:4},{default:t(()=>[e(u,{name:["cluster",P,"host"],rules:{required:!0,message:"请选择SIP 地址"}},{label:t(()=>[g(" SIP 地址 "),e(F,{title:"到服务器上的网卡地址,绑定到所有网卡:0.0.0.0"},{default:t(()=>[e(p,{type:"QuestionCircleOutlined",style:{"margin-left":"2px"}})]),_:1})]),default:t(()=>[e(j,{value:l.host,"onUpdate:value":m=>l.host=m,options:s(G),placeholder:"请选择IP地址",allowClear:"","show-search":"","filter-option":x,style:{width:"110%"},onChange:m=>ce(P)},null,8,["value","onUpdate:value","options","filter-option","onChange"])]),_:2},1032,["name"])]),_:2},1024),e(c,{span:4},{default:t(()=>[e(u,{name:["cluster",P,"port"],rules:{required:!0,message:"请选择端口"}},{default:t(()=>[dt,e(j,{value:l.port,"onUpdate:value":m=>l.port=m,options:s(T)[P],placeholder:"请选择端口",allowClear:"","show-search":"","filter-option":x},null,8,["value","onUpdate:value","options","filter-option"])]),_:2},1032,["name"])]),_:2},1024),e(c,{span:4},{default:t(()=>[e(u,{name:["cluster",P,"publicHost"],rules:[{required:!0,message:"请输入公网 Host"},{pattern:/^([0-9]|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.([0-9]|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.([0-9]|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.([0-9]|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])$/,message:"请输入正确的IP地址"}]},{label:t(()=>[g(" 公网 Host "),e(F,{title:"监听指定端口的请求"},{default:t(()=>[e(p,{type:"QuestionCircleOutlined",style:{"margin-left":"2px"}})]),_:1})]),default:t(()=>[e(w,{style:{width:"110%"},value:l.publicHost,"onUpdate:value":m=>l.publicHost=m,placeholder:"请输入IP地址",allowClear:""},null,8,["value","onUpdate:value"])]),_:2},1032,["name","rules"])]),_:2},1024),e(c,{span:4},{default:t(()=>[e(u,{name:["cluster",P,"publicPort"],rules:[{required:!0,message:"请输入端口"}]},{default:t(()=>[pt,e(X,{style:{width:"100%"},placeholder:"请输入端口",value:l.publicPort,"onUpdate:value":m=>l.publicPort=m,min:1,max:65535},null,8,["value","onUpdate:value"])]),_:2},1032,["name"])]),_:2},1024)]),_:2},1024)]),_:2},1032,["header"]))]),_:2},1032,["activeKey"])]))),128)),e(u,null,{default:t(()=>[e(R,{style:{"margin-top":"10px"},type:"primary",block:"",ghost:"",onClick:pe},{default:t(()=>[e(p,{type:"PlusOutlined"}),g(" 新增 ")]),_:1})]),_:1})]),_:1},8,["model"])]))])):(v(),I("div",ct,[d("div",{class:"card-last",style:Ue(`max-height:${s(E)>900?750:s(E)*.7}px`)},[e($,{gutter:[24,24]},{default:t(()=>[e(c,{span:12},{default:t(()=>[e(Pe,{data:"基本信息"}),d("div",null,[e(J,{model:s(C),layout:"vertical"},{default:t(()=>[e(u,oe({label:"名称"},s(z).name),{default:t(()=>[e(w,{value:s(C).name,"onUpdate:value":o[8]||(o[8]=l=>s(C).name=l),allowClear:"",placeholder:"请输入名称"},null,8,["value"])]),_:1},16),e(u,oe({label:"说明"},s(z).description),{default:t(()=>[e(Ie,{placeholder:"请输入说明",rows:4,value:s(C).description,"onUpdate:value":o[9]||(o[9]=l=>s(C).description=l),"show-count":"",maxlength:200},null,8,["value"])]),_:1},16)]),_:1},8,["model"])])]),_:1}),e(c,{span:12},{default:t(()=>{var l;return[d("div",mt,[_t,d("p",null,B(y.provider.name),1),d("p",null,B(y.provider.description),1),vt,d("p",null,B(((l=y.provider)==null?void 0:l.id)==="fixed-media"?"URL":"SIP"),1)])]}),_:1})]),_:1})],4)]))]),d("div",ft,[[0].includes(s(f))?(v(),U(R,{key:0,style:{"margin-right":"8px"},onClick:ve},{default:t(()=>[g(" 下一步 ")]),_:1})):N("",!0),s(f)===1&&s(ne)==="false"?(v(),U(Ce,{key:1,type:"primary",style:{"margin-right":"8px"},onClick:_e,loading:s(q),hasPermission:`link/AccessConfig:${s(O)===":id"?"add":"update"}`},{default:t(()=>[g(" 保存 ")]),_:1},8,["loading","hasPermission"])):N("",!0),s(f)>0?(v(),U(R,{key:2,onClick:fe},{default:t(()=>[g(" 上一步 ")]),_:1})):N("",!0)])])}}});const so=et(gt,[["__scopeId","data-v-60574af9"]]);export{so as default};