import{d as he,b as e,t as n,F as R,ae as Ze,k as M,v as et,m as Me,u as s,T as tt,p as ut,q as st,o as ne,x as fe,z as W,A as Be,h as nt,D as at,E as Se,X as Oe,a0 as je,c as Le,B as Ne}from"./vue.1703796278973.js";import{w as ge,aF as ke,aE as T,Y as Qe,L as C,aI as Y,W as ze,a0 as Ge,K as x,M as N,Z as H,aU as lt}from"./index.17037962789732.js";import"./index.170379627897330.js";import{a as ae}from"./comm.1703796278973.js";import{_ as Ce}from"./index.17037962789739.js";import{u as Pe}from"./instance.17037962789732.js";import{P as Ie,Q as We,a as Re,x as Te,R as it,S as Ve,T as qe,U as ot,V as ct,W as be}from"./instance.1703796278973.js";import{_ as Ke}from"./product.17037962789737.js";import{h as Ue}from"./system.1703796278973.js";import{o as He}from"./initHome.1703796278973.js";import{_ as re}from"./index.vue_vue_type_script_setup_true_name_PermissionButton_lang.1703796278973.js";import{_ as rt}from"./index.vue_vue_type_script_setup_true_lang.170379627897319.js";import dt from"./index.1703796278973123.js";import{_ as ft}from"./_plugin-vue_export-helper.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"./index.170379627897332.js";import"./index.170379627897315.js";import"./index.170379627897333.js";import"./index.170379627897334.js";import"./default.1703796278973.js";import"./permission.1703796278973.js";import"./consts.1703796278973.js";import"./404.1703796278973.js";import"./index.170379627897320.js";import"./index.170379627897321.js";import"./index.170379627897337.js";import"./index.1703796278973300.js";import"./index.170379627897317.js";import"./index.1703796278973301.js";import"./index.1703796278973302.js";import"./index.1703796278973303.js";import"./index.170379627897339.js";import"./index.170379627897316.js";import"./index.170379627897314.js";import"./index.1703796278973304.js";import"./index.1703796278973305.js";import"./index.1703796278973306.js";import"./index.170379627897318.js";import"./index.170379627897319.js";import"./index.170379627897322.js";import"./index.170379627897323.js";import"./index.170379627897324.js";import"./index.170379627897325.js";import"./index.170379627897326.js";import"./index.170379627897327.js";import"./index.170379627897328.js";import"./Item.1703796278973.js";import"./index.1703796278973120.js";import"./moment.1703796278973.js";import"./index.1703796278973121.js";import"./EditTable.vue_vue_type_script_setup_true_lang.17037962789733.js";import"./index.vue_vue_type_script_setup_true_name_ValueItem_lang.1703796278973.js";import"./index.170379627897338.js";import"./index.170379627897329.js";import"./style.1703796278973.js";import"./index.1703796278973122.js";import"./utils.1703796278973.js";import"./map.17037962789732.js";const ve=new Map;ve.set("loading",ae("/diagnose/loading-2.png"));ve.set("error",ae("/diagnose/error.png"));ve.set("success",ae("/diagnose/success.png"));const xe=new Map;xe.set("loading","linear-gradient(89.95deg, #E6F5FF 0.03%, #E9EAFF 99.95%)");xe.set("error","linear-gradient(89.95deg, rgba(231, 173, 86, 0.1) 0.03%, rgba(247, 111, 93, 0.1) 99.95%)");xe.set("success","linear-gradient(89.95deg, #E8F8F7 0.03%, #EBEFFA 99.95%)");const De=new Map;De.set("loading","正在诊断中");De.set("error","发现连接问题");De.set("success","连接状态正常");const _e=new Map;_e.set("loading","已诊断XX个");_e.set("error","请处理连接异常");_e.set("success","现在可调试消息通信");const we=new Map;we.set("loading","#597EF7");we.set("error","#FAB247");we.set("success","#32D4A4");const pt="_statusBox_10js4_1",gt="_statusHeader_10js4_4",vt="_statusContent_10js4_7",yt="_statusItem_10js4_13",Ft="_statusLeft_10js4_19",mt="_statusImg_10js4_22",Et="_statusContext_10js4_27",Bt="_statusTitle_10js4_27",kt="_statusDesc_10js4_32",Ct="_info_10js4_36",ht="_infoItem_10js4_41",xt="_statusRight_10js4_44",Dt="_loading_10js4_49",_t="_alert_10js4_69",v={statusBox:pt,statusHeader:gt,statusContent:vt,statusItem:yt,statusLeft:Ft,statusImg:mt,statusContext:Et,statusTitle:Bt,statusDesc:kt,info:Ct,infoItem:ht,statusRight:xt,loading:Dt,alert:_t},ye=new Map;ye.set("loading","black");ye.set("error","red");ye.set("success","green");ye.set("warning","#FAB247");const Fe=new Map;Fe.set("error",ae("/diagnose/status/error.png"));Fe.set("success",ae("/diagnose/status/success.png"));Fe.set("warning",ae("/diagnose/status/warning.png"));Fe.set("loading",ae("/diagnose/status/loading.png"));const wt=[{key:"network",name:"网络组件",desc:"诊断网络组件配置是否正确,配置错误将导致设备连接失败",status:"loading",text:"正在诊断中...",info:null},{key:"gateway",name:"设备接入网关",desc:"诊断设备接入网关状态是否正常,禁用状态将导致连接失败",status:"loading",text:"正在诊断中...",info:null},{key:"product",name:"产品状态",desc:"诊断产品状态是否正常,禁用状态将导致设备连接失败",status:"loading",text:"正在诊断中...",info:null},{key:"device",name:"设备状态",desc:"诊断设备状态是否正常,禁用状态将导致设备连接失败",status:"loading",text:"正在诊断中...",info:null}],At=[{key:"gateway",name:"设备接入网关",desc:"诊断设备接入网关状态是否正常,网关配置是否正确",status:"loading",text:"正在诊断中...",info:null},{key:"parent-device",name:"网关父设备",desc:"诊断网关父设备状态是否正常,禁用或离线将导致连接失败",status:"loading",text:"正在诊断中...",info:null},{key:"product",name:"产品状态",desc:"诊断产品状态是否正常,禁用状态将导致设备连接失败",status:"loading",text:"正在诊断中...",info:null},{key:"device",name:"设备状态",desc:"诊断设备状态是否正常,禁用状态将导致设备连接失败",status:"loading",text:"正在诊断中...",info:null}],It=[{key:"gateway",name:"设备接入网关",desc:"诊断设备接入网关状态是否正常,网关配置是否正确",status:"loading",text:"正在诊断中...",info:null},{key:"product",name:"产品状态",desc:"诊断产品状态是否正常,禁用状态将导致设备连接失败",status:"loading",text:"正在诊断中...",info:null},{key:"device",name:"设备状态",desc:"诊断设备状态是否正常,禁用状态将导致设备连接失败",status:"loading",text:"正在诊断中...",info:null}],Tt=[{key:"gateway",name:"设备接入网关",desc:"诊断设备接入网关状态是否正常,禁用状态将导致连接失败",status:"loading",text:"正在诊断中...",info:null},{key:"product",name:"产品状态",desc:"诊断产品状态是否正常,禁用状态将导致设备连接失败",status:"loading",text:"正在诊断中...",info:null},{key:"device",name:"设备状态",desc:"诊断设备状态是否正常,禁用状态将导致设备连接失败",status:"loading",text:"正在诊断中...",info:null}],d=(B,D,t)=>{let E=[];if(t!==0&&!t)for(let k=0;kB.find(t=>D.includes(t)),bt=["websocket-server","http-server-gateway","udp-device-gateway","coap-server-gateway","mqtt-client-gateway","tcp-server-gateway"],pe=new Map;pe.set("mqtt-client-gateway","topic");pe.set("http-server-gateway","url");pe.set("websocket-server","url");pe.set("coap-server-gateway","url");const Pt=he({props:{data:{type:Object,default:()=>{}}},emits:["close"],setup(B,{emit:D}){const{data:t}=B;return()=>e(ze,{visible:!0,title:"设备诊断",width:1e3,onOk:()=>{D("close")},onCancel:()=>{D("close")}},{default:()=>[e("div",null,[e(Ce,{data:"诊断建议"},null),e("div",{class:v.advice},[e("div",{class:v.alert},[e("span",{style:{marginRight:10}},[e(ge,{type:"InfoCircleOutlined"},null)]),n("所有诊断均无异常但设备仍未上线,请检查以下内容")]),e("div",{style:{marginLeft:10}},[((t==null?void 0:t.list)||[]).map((E,k)=>e("div",{class:v.infoItem,key:k,style:{margin:"10px 0"}},[E]))])])]),e("div",{style:{marginTop:15}},[e(Ce,{data:"连接信息"},null),e(ke,{column:2},{default:()=>{var E,k,c;return[e(T,{span:1,label:"设备ID"},{default:()=>{var f;return[((f=t==null?void 0:t.info)==null?void 0:f.id)||""]}}),((k=(E=t==null?void 0:t.info)==null?void 0:E.address)==null?void 0:k.length)>0&&e(T,{span:1,label:"连接地址"},{default:()=>{var f;return[e(Qe,{placement:"topLeft",title:e("div",{class:"serverItem"},[(((f=t==null?void 0:t.info)==null?void 0:f.address)||[]).map(b=>e("div",{key:b.address},[e(C,{color:b.health===-1?"red":"green"},null),b.address]))])},{default:()=>{var b;return[e("div",{class:"serverItem"},[(((b=t==null?void 0:t.info)==null?void 0:b.address)||[]).slice(0,1).map(A=>e("div",{key:A.address},[e(C,{color:A.health===-1?"red":"green"},null),A.address]))])]}})]}}),(Y.flatten(Y.map((c=t==null?void 0:t.info)==null?void 0:c.config,"properties"))||[]).map((f,b)=>e(T,{key:b,span:1,label:f!=null&&f.description?e("div",null,[e("span",{style:{marginRight:"10px"}},[f.name]),e(Qe,{title:f.description},{default:()=>[e(ge,{type:"QuestionCircleOutlined"},null)]})]):f.name},{default:()=>{var A;return[((A=t==null?void 0:t.info)==null?void 0:A.configValue[f==null?void 0:f.property])||""]}}))]}})])]})}});function $t(B){return typeof B=="function"||Object.prototype.toString.call(B)==="[object Object]"&&!Ze(B)}const Mt=he({props:{data:{type:Object,default:()=>{}}},emits:["close","save"],setup(B,{emit:D}){const{data:t}=B,E=Pe(),k=Ue(),c=()=>{var f,b,A,V,J,Z,le,z,de,q,u,L;if(t.type==="device"||t.type==="product"){let j;return e(R,null,[e("div",{style:{flex:1}},[e("div",{class:v.alert},[e("span",{style:{marginRight:"10px"}},[e(ge,{type:"InfoCircleOutlined"},null)]),n("请检查配置项是否填写正确,若您确定该项无需诊断可"),e(x,{type:"link",style:"padding: 0",onClick:()=>{D("save",t)}},{default:()=>[n("忽略")]})]),e("div",{style:{marginTop:"10px"}},[e(ke,{title:(f=t==null?void 0:t.data)==null?void 0:f.name,layout:"vertical",bordered:!0},$t(j=(((b=t==null?void 0:t.data)==null?void 0:b.properties)||[]).map(p=>e(T,{key:p.property,label:`${p.name}${p!=null&&p.description?`(${p.description})`:""}`},{default:()=>[(t==null?void 0:t.configuration[p.property])||""]})))?j:{default:()=>[j]})])]),(A=t==null?void 0:t.data)!=null&&A.description?e("div",{style:{width:"50%",border:"1px solid #f0f0f0",padding:"10px",borderLeft:"none"}},[e("h4",null,[n("诊断项说明")]),e("p",null,[(V=t==null?void 0:t.data)==null?void 0:V.description])]):""])}else return t.type==="cloud"?e(R,null,[e("div",{style:{flex:1}},[e("div",{class:v.alert},[e("span",{style:{marginRight:"10px"}},[e(ge,{type:"InfoCircleOutlined"},null)]),n("请检查配置项是否填写正确,若您确定该项无需诊断可"),e(x,{type:"link",style:"padding: 0",onClick:()=>{D("save",t)}},{default:()=>[n("忽略")]})]),e("div",{style:{marginTop:"10px"}},[e(ke,{title:(J=t==null?void 0:t.data)==null?void 0:J.name,layout:"vertical",bordered:!0},{default:()=>{var j;return[((j=t.configuration)==null?void 0:j.provider)==="OneNet"?e(R,null,[e(T,{label:"接口地址"},{default:()=>{var p,_;return[((_=(p=t==null?void 0:t.configuration)==null?void 0:p.configuration)==null?void 0:_.apiAddress)||""]}}),e(T,{label:"apiKey"},{default:()=>{var p,_;return[((_=(p=t==null?void 0:t.configuration)==null?void 0:p.configuration)==null?void 0:_.apiKey)||""]}}),e(T,{label:"通知Token"},{default:()=>{var p,_;return[((_=(p=t==null?void 0:t.configuration)==null?void 0:p.configuration)==null?void 0:_.validateToken)||""]}}),e(T,{label:"aesKey"},{default:()=>{var p,_;return[((_=(p=t==null?void 0:t.configuration)==null?void 0:p.configuration)==null?void 0:_.aesKey)||""]}})]):e(R,null,[e(T,{label:"接口地址"},{default:()=>{var p,_;return[((_=(p=t==null?void 0:t.configuration)==null?void 0:p.configuration)==null?void 0:_.apiAddress)||""]}}),e(T,{label:"appKey"},{default:()=>{var p,_;return[((_=(p=t==null?void 0:t.configuration)==null?void 0:p.configuration)==null?void 0:_.appKey)||""]}}),e(T,{label:"appSecret"},{default:()=>{var p,_;return[((_=(p=t==null?void 0:t.configuration)==null?void 0:p.configuration)==null?void 0:_.appSecret)||""]}})])]}})])]),(le=(Z=t==null?void 0:t.configuration)==null?void 0:Z.configuration)!=null&&le.description?e("div",{style:{width:"50%",border:"1px solid #f0f0f0",padding:"10px",borderLeft:"none"}},[e("h4",null,[n("诊断项说明")]),e("p",null,[(de=(z=t==null?void 0:t.configuration)==null?void 0:z.configuration)==null?void 0:de.description])]):""]):t.type==="media"?e(R,null,[e("div",{style:{flex:1}},[e("div",{class:v.alert},[e("span",{style:{marginRight:"10px"}},[e(ge,{type:"InfoCircleOutlined"},null)]),n("请检查配置项是否填写正确,若您确定该项无需诊断可"),e(x,{type:"link",style:"padding: 0",onClick:()=>{D("save",t)}},{default:()=>[n("忽略")]})]),e("div",{style:{marginTop:"10px"}},[e(ke,{title:(q=t==null?void 0:t.data)==null?void 0:q.name,layout:"vertical",bordered:!0},{default:()=>{var j,p,_,ie;return[(p=(j=t==null?void 0:t.configuration)==null?void 0:j.configuration)!=null&&p.shareCluster?e(R,null,[e(T,{label:"SIP 域"},{default:()=>{var y,h;return[((h=(y=t==null?void 0:t.configuration)==null?void 0:y.configuration)==null?void 0:h.domain)||""]}}),e(T,{label:"SIP ID"},{default:()=>{var y,h;return[((h=(y=t==null?void 0:t.configuration)==null?void 0:y.configuration)==null?void 0:h.sipId)||""]}}),e(T,{label:"集群"},{default:()=>{var y,h;return[(h=(y=t==null?void 0:t.configuration)==null?void 0:y.configuration)!=null&&h.shareCluster?"共享配置":"独立配置"]}}),e(T,{label:"SIP 地址"},{default:()=>{var y,h,K,ee,te,oe;return[`${(K=(h=(y=t==null?void 0:t.configuration)==null?void 0:y.configuration)==null?void 0:h.hostPort)==null?void 0:K.host}:${(oe=(te=(ee=t==null?void 0:t.configuration)==null?void 0:ee.configuration)==null?void 0:te.hostPort)==null?void 0:oe.port}`]}}),e(T,{label:"公网 Host"},{default:()=>{var y,h,K,ee,te,oe;return[`${(K=(h=(y=t==null?void 0:t.configuration)==null?void 0:y.configuration)==null?void 0:h.hostPort)==null?void 0:K.publicHost}:${(oe=(te=(ee=t==null?void 0:t.configuration)==null?void 0:ee.configuration)==null?void 0:te.hostPort)==null?void 0:oe.publicPort}`]}})]):e(R,null,[e(T,{label:"SIP 域"},{default:()=>{var y,h;return[((h=(y=t==null?void 0:t.configuration)==null?void 0:y.configuration)==null?void 0:h.domain)||""]}}),e(T,{label:"SIP ID"},{default:()=>{var y,h;return[((h=(y=t==null?void 0:t.configuration)==null?void 0:y.configuration)==null?void 0:h.sipId)||""]}}),e(T,{label:"集群"},{default:()=>{var y,h;return[(h=(y=t==null?void 0:t.configuration)==null?void 0:y.configuration)!=null&&h.shareCluster?"共享配置":"独立配置"]}}),(ie=(_=t==null?void 0:t.configuration)==null?void 0:_.configuration)==null?void 0:ie.cluster.map((y,h)=>e("div",{key:h},[e("div",null,[n("节点"),h+1]),e(T,{label:"节点名称"},{default:()=>[(y==null?void 0:y.clusterNodeId)||""]}),e(T,{label:"SIP 地址"},{default:()=>[`${y.host}:${y==null?void 0:y.port}`]}),e(T,{label:"公网 Host"},{default:()=>[`${y==null?void 0:y.publicHost}:${y==null?void 0:y.publicPort}`]})]))])]}})])]),(u=t==null?void 0:t.configuration)!=null&&u.description?e("div",{style:{width:"50%",border:"1px solid #f0f0f0",padding:"10px",borderLeft:"none"}},[e("h4",null,[n("诊断项说明")]),e("p",null,[(L=t==null?void 0:t.configuration)==null?void 0:L.description])]):""]):null};return()=>e(ze,{title:"人工检查",visible:!0,width:1e3,onOk:()=>{D("save",t)},onCancel:()=>{D("close")}},{default:()=>[e("div",{style:{display:"flex"}},[c()])],footer:e(Ge,null,{default:()=>[e(x,{onClick:()=>{var f;t.type==="device"?E.tabActiveKey="Info":t.type==="product"?k.jumpPage("device/Product/Detail",{id:t.productId,tab:"Device"}):k.jumpPage("link/AccessConfig/Detail",{id:(f=t.configuration)==null?void 0:f.id})}},{default:()=>[n("去修改")]}),e(x,{onClick:()=>{D("save",t)}},{default:()=>[n("确认无误")]})]})})}}),St=he({components:{TitleComponent:Ce},props:{providerType:{type:String,default:void 0}},emits:["percentChange","countChange","stateChange"],setup(B,{emit:D}){const t=Pe(),E=500,k=M("loading"),c=M(t.current),f=M({}),b=M({}),A=M({}),V=M(!1),J=M(),Z=M(!1),le=M(),z=M(!1),de=Ue(),q=et({product:{},device:[]}),u=M([]),L=l=>{V.value=!0,J.value=l},j=()=>{de.jumpPage("device/Product/Detail",{id:s(c).productId,tab:"access"})},p=()=>{t.tabActiveKey="Info"},_=()=>new Promise(async l=>{var a,r,F;if(((a=s(c).state)==null?void 0:a.value)==="online")setTimeout(()=>{u.value=d(s(u),{key:"network",name:"网络组件",desc:"诊断网络组件配置是否正确,配置错误将导致设备连接失败",status:"success",text:"正常",info:null}),l({})},E);else{const o=s(c);if(o.accessId){const i=await Ve(o.accessId);if(i.status===200){f.value=i.request;const g=((F=(r=i.result)==null?void 0:r.channelInfo)==null?void 0:F.addresses)||[],m=g.some(S=>S.health===-1),w=g.every(S=>S.health===1),$=m?-1:w?1:0;let I;$===1?I={key:"network",name:"网络组件",desc:"诊断网络组件配置是否正确,配置错误将导致设备连接失败",status:"success",text:"正常",info:null}:I={key:"network",name:"网络组件",desc:"诊断网络组件配置是否正确,配置错误将导致设备连接失败",status:"error",text:"异常",info:$===-1?e("div",null,[e("div",{class:v.infoItem},[e(C,{status:"default",text:e("span",null,[n("网络组件已禁用,请先"),e(re,{type:"link",style:"padding: 0",hasPermission:"link/Type:action",popConfirm:{title:"确认启用",onConfirm:async()=>{var O;(await We((O=s(f))==null?void 0:O.channelId)).status===200&&(N.success("操作成功!"),u.value=d(u.value,{key:"network",name:"网络组件",desc:"诊断网络组件配置是否正确,配置错误将导致设备连接失败",status:"success",text:"正常",info:null}))}}},{default:()=>[n("启用")]})])},null)])]):e("div",null,[e("div",{class:v.infoItem},[e(C,{status:"default",text:"请检查服务器端口是否开放,如未开放,请开放后尝试重新连接"},null)]),e("div",{class:v.infoItem},[e(C,{status:"default",text:"请检查服务器防火策略,如有开启防火墙,请关闭防火墙或调整防火墙策略后重试"},null)])])},setTimeout(()=>{I&&(u.value=d(u.value,I)),l({})},E)}else N.error("请求发生错误")}else N.error("设备不含accessId")}}),ie=()=>new Promise(async l=>{var r,F,o,i,g,m,w,$;const a=B.providerType&&["child-device","cloud"].includes(B.providerType)?"诊断设备接入网关状态是否正常,网关配置是否正确":"诊断设备接入网关状态是否正常,禁用状态将导致连接失败";if(s(c).state.value==="online")setTimeout(()=>{u.value=d(u.value,{key:"gateway",name:"设备接入网关",desc:a,status:"success",text:"正常",info:null}),l({})},E);else{let I;if((r=s(f))!=null&&r.id)((w=(m=s(f))==null?void 0:m.state)==null?void 0:w.value)==="enabled"?B.providerType==="cloud"||(($=s(c))==null?void 0:$.accessProvider)==="gb28181-2016"?I={key:"gateway",name:"设备接入网关",desc:a,status:"warning",text:"可能存在异常",info:e("div",null,[e("div",{class:v.infoItem},[e(C,{status:"default",text:e("span",null,[n("请"),e(x,{type:"link",style:"padding: 0",onClick:async()=>{var O,Q;const S=await qe(((O=s(f))==null?void 0:O.id)||"");S.status===200&&L({type:B.providerType,key:"gateway",name:"设备接入网关",desc:a,data:{name:`${(Q=s(c))==null?void 0:Q.accessProvider}配置`},configuration:{...S.result}})}},{default:()=>[n("人工检查")]}),n("网关配置是否已填写正确,若您确定该项无需诊断可"),e(H,{title:"确认忽略?",onConfirm:()=>{u.value=d(u.value,{key:"gateway",name:"设备接入网关",desc:a,status:"success",text:"正常",info:null})}},{default:()=>[e(x,{type:"link",style:"padding: 0"},{default:()=>[n("忽略")]})]})])},null)])])}:I={key:"gateway",name:"设备接入网关",desc:a,status:"success",text:"正常",info:null}:I={key:"gateway",name:"设备接入网关",desc:a,status:"error",text:"异常",info:e("div",null,[e("div",{class:v.infoItem},[e(C,{status:"default",text:e("span",null,[n("设备接入网关已禁用,请先"),e(re,{hasPermission:"link/AccessConfig:action",type:"link",style:"padding: 0",popConfirm:{title:"确认启用",onConfirm:async()=>{(await Ie(s(c).accessId||"")).status===200&&(N.success("操作成功!"),u.value=d(u.value,{key:"gateway",name:"设备接入网关",desc:a,status:"success",text:"正常",info:null}))}}},{default:()=>[n("启用")]})])},null)])])},setTimeout(()=>{I&&(u.value=d(u.value,I)),l({})},E);else{const S=(F=s(c))==null?void 0:F.accessId;if(S){const O=await Ve(S);O.status===200?(f.value=O.result,((i=(o=O.result)==null?void 0:o.state)==null?void 0:i.value)==="enabled"?B.providerType==="cloud"||((g=s(c))==null?void 0:g.accessProvider)==="gb28181-2016"?I={key:"gateway",name:"设备接入网关",desc:a,status:"warning",text:"可能存在异常",info:e("div",null,[e("div",{class:v.infoItem},[e(C,{status:"default",text:e("span",null,[n("请"),e(x,{type:"link",style:"padding: 0",onClick:async()=>{var ue,se;const Q=await qe(((ue=O.result)==null?void 0:ue.id)||"");Q.status===200&&L({type:B.providerType,key:"gateway",name:"设备接入网关",desc:a,data:{name:`${(se=s(c))==null?void 0:se.accessProvider}配置`},configuration:{...Q.result}})}},{default:()=>[n("人工检查")]}),n("网关配置是否已填写正确,若您确定该项无需诊断可"),e(H,{title:"确认忽略?",onConfirm:()=>{u.value=d(u.value,{key:"gateway",name:"设备接入网关",desc:a,status:"success",text:"正常",info:null})}},{default:()=>[e(x,{type:"link",style:"padding: 0"},{default:()=>[n("忽略")]})]})])},null)])])}:I={key:"gateway",name:"设备接入网关",desc:a,status:"success",text:"正常",info:null}:I={key:"gateway",name:"设备接入网关",desc:a,status:"error",text:"异常",info:e("div",null,[e("div",{class:v.infoItem},[e(C,{status:"default",text:e("span",null,[n("设备接入网关已禁用,请先"),e(re,{hasPermission:"link/Type:action",type:"link",style:"padding: 0",popConfirm:{title:"确认启用",onConfirm:async()=>{(await Ie(s(c).accessId||"")).status===200&&(N.success("操作成功!"),u.value=d(u.value,{key:"gateway",name:"设备接入网关",desc:a,status:"success",text:"正常",info:null}))}}},{default:()=>[n("启用")]})])},null)])])},setTimeout(()=>{I&&(u.value=d(u.value,I)),l({})},E)):N.error("请求发生错误")}else N.error("设备不含accessId")}}}),y=()=>new Promise(async l=>{var a,r,F,o;if(s(c).state.value==="online")setTimeout(()=>{u.value=d(s(u),{key:"parent-device",name:"网关父设备",desc:"诊断网关父设备状态是否正常,禁用或离线将导致连接失败",status:"success",text:"正常",info:null}),l({})},E);else{const i=s(c);if(!(i!=null&&i.parentId))setTimeout(()=>{u.value=d(s(u),{key:"parent-device",name:"网关父设备",desc:"诊断网关父设备状态是否正常,禁用或离线将导致连接失败",status:"error",text:"异常",info:e("div",null,[e("div",{class:v.infoItem},[e(C,{status:"default",text:e("span",null,[n("未绑定父设备,请先"),e(x,{type:"link",style:"padding: 0",onClick:()=>{z.value=!0}},{default:()=>[n("绑定")]}),n("父设备后重试")])},null)])])}),l({})},E);else{let g;const m=await Re(i==null?void 0:i.parentId);b.value=m.result,m.status===200&&(((r=(a=m==null?void 0:m.result)==null?void 0:a.state)==null?void 0:r.value)==="notActive"?g={key:"parent-device",name:"网关父设备",desc:"诊断网关父设备状态是否正常,禁用或离线将导致连接失败",status:"error",text:"异常",info:e("div",null,[e("div",{class:v.infoItem},[e(C,{status:"default",text:e("span",null,[n("网关父设备已禁用,请先"),e(re,{hasPermission:"device/Product:action",type:"link",style:"padding: 0",popConfirm:{title:"确认启用",onConfirm:async()=>{var $;(await Te((($=m==null?void 0:m.result)==null?void 0:$.id)||"")).status===200&&(N.success("操作成功!"),u.value=d(u.value,{key:"parent-device",name:"网关父设备",desc:"诊断网关父设备状态是否正常,禁用或离线将导致连接失败",status:"success",text:"正常",info:null}))}}},{default:()=>[n("启用")]})])},null)])])}:((o=(F=m==null?void 0:m.result)==null?void 0:F.state)==null?void 0:o.value)==="online"?g={key:"parent-device",name:"网关父设备",desc:"诊断网关父设备状态是否正常,禁用或离线将导致连接失败",status:"success",text:"正常",info:null}:g={key:"parent-device",name:"网关父设备",desc:"诊断网关父设备状态是否正常,禁用或离线将导致连接失败",status:"error",text:"异常",info:e("div",null,[e("div",{class:v.infoItem},[e(C,{status:"default",text:e("span",null,[n("网关父设备已离线,请先排查网关设备故障")])},null)])])},setTimeout(()=>{g&&(u.value=d(s(u),g)),l({})},E))}}}),h=()=>new Promise(async l=>{var a,r;if(((a=s(c).state)==null?void 0:a.value)==="online")setTimeout(()=>{u.value=d(s(u),{key:"product",name:"产品状态",desc:"诊断产品状态是否正常,禁用状态将导致设备连接失败",status:"success",text:"正常",info:null}),l({})},E);else{const F=s(c);if(F.productId){const o=await ot(F.productId);if(o.status===200){A.value=o.result;let i;const g=(r=o.result)==null?void 0:r.state;i={key:"product",name:"产品状态",desc:"诊断产品状态是否正常,禁用状态将导致设备连接失败",status:g===1?"success":"error",text:g===1?"正常":"异常",info:g===1?null:e("div",null,[e("div",{class:v.infoItem},[e(C,{status:"default",text:e("span",null,[n("产品已禁用,请"),e(re,{hasPermission:"device/Product:action",type:"link",style:"padding: 0",popConfirm:{title:"确认启用",onConfirm:async()=>{(await Ke(s(c).productId||"")).status===200&&(N.success("操作成功!"),u.value=d(u.value,{key:"product",name:"产品状态",desc:"诊断产品状态是否正常,禁用状态将导致设备连接失败",status:"success",text:"正常",info:null}))}}},{default:()=>[n("启用")]}),n("产品")])},null)])])},setTimeout(()=>{i&&(u.value=d(s(u),i)),l({})},E)}}}}),K=()=>new Promise(l=>{var r,F;const a=s(c);if(((r=a.state)==null?void 0:r.value)==="online")setTimeout(()=>{u.value=d(s(u),{key:"device",name:"设备状态",desc:"诊断设备状态是否正常,禁用状态将导致设备连接失败",status:"success",text:"正常",info:null}),l({})},E);else{let o;((F=a.state)==null?void 0:F.value)==="notActive"?o={key:"device",name:"设备状态",desc:"诊断设备状态是否正常,禁用状态将导致设备连接失败",status:"error",text:"异常",info:e("div",null,[e("div",{class:v.infoItem},[e(C,{status:"default",text:e("span",null,[n("设备已禁用,请"),e(re,{hasPermission:"device/Instance:action",type:"link",style:"padding: 0",popConfirm:{title:"确认启用",onConfirm:async()=>{var g;(await Te(((g=s(c))==null?void 0:g.id)||"")).status===200&&(t.current.state={value:"offline",text:"离线"},N.success("操作成功!"),u.value=d(u.value,{key:"device",name:"设备状态",desc:"诊断设备状态是否正常,禁用状态将导致设备连接失败",status:"success",text:"正常",info:null}))}}},{default:()=>[n("启用")]}),n("设备")])},null)])])}:o={key:"device",name:"设备状态",desc:"诊断设备状态是否正常,禁用状态将导致设备连接失败",status:"success",text:"正常",info:null},setTimeout(()=>{o&&(u.value=d(s(u),o)),l({})},E)}}),ee=()=>new Promise(async l=>{var r;const a=s(c);if(a.productId){const F=await ct(a.productId);if(F.status===200&&F.result.length>0){q.product=F.result;const o=((r=s(A))==null?void 0:r.configuration)||{};F.result.map((i,g)=>{var $;const m=[...u.value];Y.map(m,"key").includes(`product-auth${g}`)||(u.value=d(u.value,{key:`product-auth${g}`,name:`产品-${i==null?void 0:i.name}`,desc:"诊断产品MQTT认证配置是否正确,错误的配置将导致连接失败",status:"loading",text:"正在诊断中...",info:null},u.value.length));const w=Y.map(i==null?void 0:i.properties,"property");(($=s(c).state)==null?void 0:$.value)==="online"?setTimeout(()=>{u.value=d(u.value,{key:`product-auth${g}`,name:`产品-${i==null?void 0:i.name}`,desc:"诊断产品MQTT认证配置是否正确,错误的配置将导致连接失败",status:"success",text:"正常",info:null}),l({})},E):Je(w,Object.keys(o).filter(I=>!!o[I]))?setTimeout(()=>{u.value=d(u.value,{key:`product-auth${g}`,name:`产品-${i==null?void 0:i.name}`,desc:"诊断产品MQTT认证配置是否正确,错误的配置将导致连接失败",status:"warning",text:"可能存在异常",info:e("div",null,[e("div",{class:v.infoItem},[e(C,{status:"default",text:e("span",null,[n("请"),e(x,{type:"link",style:"padding: 0",onClick:()=>{L({type:"product",key:`product-auth${g}`,name:`产品-${i==null?void 0:i.name}`,desc:"诊断产品MQTT认证配置是否正确,错误的配置将导致连接失败",data:{...i},configuration:o,productId:s(c).productId})}},{default:()=>[n("人工检查")]}),n("产品"),i.name,n("配置是否已填写正确,若您确定该项无需诊断可"),e(H,{title:"确认忽略?",onConfirm:()=>{u.value=d(u.value,{key:`product-auth${g}`,name:`产品-${i==null?void 0:i.name}`,desc:"诊断产品MQTT认证配置是否正确,错误的配置将导致连接失败",status:"success",text:"正常",info:null})}},{default:()=>[e(x,{type:"link",style:"padding: 0"},{default:()=>[n("忽略")]})]})])},null)])])}),l({})},E):setTimeout(()=>{u.value=d(u.value,{key:`product-auth${g}`,name:`产品-${i==null?void 0:i.name}`,desc:"诊断产品MQTT认证配置是否正确,错误的配置将导致连接失败",status:"error",text:"异常",info:e("div",null,[e("div",{class:v.infoItem},[e(C,{status:"default",text:e("span",null,[n("请根据设备接入配置需要"),e(x,{type:"link",style:"padding: 0",onClick:()=>{j()}},{default:()=>[n("填写")]}),n(",若您确定该项无需诊断可"),e(H,{title:"确认忽略?",onConfirm:()=>{u.value=d(u.value,{key:`product-auth${g}`,name:`产品-${i==null?void 0:i.name}`,desc:"诊断产品MQTT认证配置是否正确,错误的配置将导致连接失败",status:"success",text:"正常",info:null})}},{default:()=>[e(x,{type:"link",style:"padding: 0"},{default:()=>[n("忽略")]})]})])},null)])])}),l({})},E)})}else l({})}}),te=()=>new Promise(async l=>{const a=s(c);if(a.id){const r=await be(a.id);if(r.status===200&&r.result.length>0){q.device=r.result;const F=(a==null?void 0:a.configuration)||{};r.result.map((o,i)=>{var w;const g=[...u.value];Y.map(g,"key").includes(`device-auth${i}`)||(u.value=d(u.value,{key:`device-auth${i}`,name:`设备-${o==null?void 0:o.name}`,desc:"诊断设备MQTT认证配置是否正确,错误的配置将导致连接失败",status:"loading",text:"正在诊断中...",info:null},u.value.length));const m=Y.map(o==null?void 0:o.properties,"property");((w=a.state)==null?void 0:w.value)==="online"?setTimeout(()=>{u.value=d(u.value,{key:`device-auth${i}`,name:`设备-${o==null?void 0:o.name}`,desc:"诊断设备MQTT认证配置是否正确,错误的配置将导致连接失败",status:"success",text:"正常",info:null}),l({})},E):Je(m,Object.keys(F).filter($=>!!F[$]))?setTimeout(()=>{u.value=d(u.value,{key:`device-auth${i}`,name:`设备-${o==null?void 0:o.name}`,desc:"诊断设备MQTT认证配置是否正确,错误的配置将导致连接失败",status:"warning",text:"可能存在异常",info:e("div",null,[e("div",{class:v.infoItem},[e(C,{status:"default",text:e("span",null,[n("请"),e(x,{type:"link",style:"padding: 0",onClick:()=>{L({type:"device",key:`device-auth${i}`,name:`设备-${o==null?void 0:o.name}`,desc:"诊断设备MQTT认证配置是否正确,错误的配置将导致连接失败",data:{...o},configuration:F,productId:s(c).productId})}},{default:()=>[n("人工检查")]}),n("设备"),o.name,n("配置是否已填写正确,若您确定该项无需诊断可"),e(H,{title:"确认忽略?",onConfirm:()=>{u.value=d(u.value,{key:`device-auth${i}`,name:`设备-${o==null?void 0:o.name}`,desc:"诊断设备MQTT认证配置是否正确,错误的配置将导致连接失败",status:"success",text:"正常",info:null})}},{default:()=>[e(x,{type:"link",style:"padding: 0"},{default:()=>[n("忽略")]})]})])},null)])])}),l({})},E):setTimeout(()=>{u.value=d(u.value,{key:`device-auth${i}`,name:`设备-${o==null?void 0:o.name}`,desc:"诊断设备MQTT认证配置是否正确,错误的配置将导致连接失败",status:"error",text:"异常",info:e("div",null,[e("div",{class:v.infoItem},[e(C,{status:"default",text:e("span",null,[n("请根据设备接入配置需要"),e(x,{type:"link",style:"padding: 0",onClick:()=>{p()}},{default:()=>[n("填写")]}),n(",若您确定该项无需诊断可"),e(H,{title:"确认忽略?",onConfirm:()=>{u.value=d(u.value,{key:`device-auth${i}`,name:`设备-${o==null?void 0:o.name}`,desc:"诊断设备MQTT认证配置是否正确,错误的配置将导致连接失败",status:"success",text:"正常",info:null})}},{default:()=>[e(x,{type:"link",style:"padding: 0"},{default:()=>[n("忽略")]})]})])},null)])])}),l({})},E)})}else l({})}}),oe=()=>new Promise(async l=>{var r,F,o,i;const a=s(c);if((a==null?void 0:a.accessProvider)==="OneNet"){const g=await be((a==null?void 0:a.id)||"");q.device=g.result;const m=(a==null?void 0:a.configuration)||{};let w;(r=a.configuration)!=null&&r.onenet_imei||(F=a.configuration)!=null&&F.onenet_imsi||(o=s(A))!=null&&o.configuration&&((i=s(A))!=null&&i.configuration["api-key"])?w={key:"onenet",name:"设备-OneNet配置",desc:"诊断设备OneNet是否已配置,未配置将导致连接失败",status:"warning",text:"可能存在异常",info:e("div",null,[e("div",{class:v.infoItem},[n("请"),e(x,{type:"link",style:"padding: 0",onClick:()=>{L({type:"device",key:"onenet",name:"设备-OneNet配置",desc:"诊断设备OneNet是否已配置,未配置将导致连接失败",data:{...g.result[0]},configuration:m})}},{default:()=>[n("人工检查")]}),n("设备-OneNet配置是否已填写正确,若您确定该项无需诊断可"),e(H,{title:"确认忽略?",onConfirm:()=>{u.value=d(u.value,{key:"onenet",name:"设备-OneNet配置",desc:"诊断设备OneNet是否已配置,未配置将导致连接失败",status:"success",text:"正常",info:null})}},{default:()=>[e(x,{type:"link",style:"padding: 0"},{default:()=>[n("忽略")]})]})])])}:w={key:"onenet",name:"设备-OneNet配置",desc:"诊断设备OneNet是否已配置,未配置将导致连接失败",status:"error",text:"异常",info:e("div",null,[e("div",{class:v.infoItem},[n("请根据设备接入配置需要"),e(x,{type:"link",style:"padding: 0",onClick:()=>{p()}},{default:()=>[n("填写")]}),n(",若您确定该项无需诊断可"),e(H,{title:"确认忽略?",onConfirm:()=>{u.value=d(u.value,{key:"onenet",name:"设备-OneNet配置",desc:"诊断设备OneNet是否已配置,未配置将导致连接失败",status:"success",text:"正常",info:null})}},{default:()=>[e(x,{type:"link",style:"padding: 0"},{default:()=>[n("忽略")]})]})])])},setTimeout(()=>{w&&(u.value=d(u.value,w,u.value.length)),l({})},E)}else l({})}),Xe=()=>new Promise(async l=>{var r,F,o;const a=s(c);if((a==null?void 0:a.accessProvider)==="Ctwing"){const i=await be((a==null?void 0:a.id)||"");q.device=i.result;const g=(a==null?void 0:a.configuration)||{};let m;const w=(r=s(A))==null?void 0:r.configuration;(F=a.configuration)!=null&&F.ctwing_imei||(o=a.configuration)!=null&&o.ctwing_imsi||w&&(w.ctwing_product_id||w.master_key)?m={key:"ctwing",name:"设备-CTWing配置",desc:"诊断设备CTWing是否已配置,未配置将导致连接失败",status:"warning",text:"可能存在异常",info:e("div",null,[e("div",{class:v.infoItem},[n("请"),e(x,{type:"link",style:"padding: 0",onClick:()=>{L({type:"device",key:"ctwing",name:"设备-CTWing配置",desc:"诊断设备CTWing是否已配置,未配置将导致连接失败",data:{...i.result[0]},configuration:g})}},{default:()=>[n("人工检查")]}),n("设备-CTWing配置是否已填写正确,若您确定该项无需诊断可"),e(H,{title:"确认忽略?",onConfirm:()=>{u.value=d(u.value,{key:"ctwing",name:"设备-CTWing配置",desc:"诊断设备CTWing是否已配置,未配置将导致连接失败",status:"success",text:"正常",info:null})}},{default:()=>[e(x,{type:"link",style:"padding: 0"},{default:()=>[n("忽略")]})]})])])}:m={key:"ctwing",name:"设备-CTWing配置",desc:"诊断设备CTWing是否已配置,未配置将导致连接失败",status:"error",text:"异常",info:e("div",null,[e("div",{class:v.infoItem},[n("请根据设备接入配置需要"),e(x,{type:"link",style:"padding: 0",onClick:()=>{p()}},{default:()=>[n("填写")]}),n(",若您确定该项无需诊断可"),e(H,{title:"确认忽略?",onConfirm:()=>{u.value=d(u.value,{key:"ctwing",name:"设备-CTWing配置",desc:"诊断设备CTWing是否已配置,未配置将导致连接失败",status:"success",text:"正常",info:null})}},{default:()=>[e(x,{type:"link",style:"padding: 0"},{default:()=>[n("忽略")]})]})])])},setTimeout(()=>{m&&(u.value=d(u.value,m,u.value.length)),l({})},E)}else l({})}),Ye=async()=>{var l,a,r,F,o,i,g,m,w,$,I,S,O,Q,ue,se,G,me,Ee,Ae,ce;if(((l=s(c).state)==null?void 0:l.value)!="online"){const U=[];let X={id:s(c).id};if(U.push(e(C,{status:"default",text:"请检查设备运行状态是否正常"},null)),B.providerType==="network"){if(U.push(e(C,{status:"default",text:(((r=(a=s(f))==null?void 0:a.channelInfo)==null?void 0:r.addresses)||[]).length>1?e(R,null,[n("请检查设备网络是否畅通,并确保设备已连接到以下地址之一:"),e("div",{class:"serverItem"},[(((o=(F=s(f))==null?void 0:F.channelInfo)==null?void 0:o.addresses)||[]).map(P=>e("span",{style:{marginLeft:15},key:P.address},[e(C,{color:P.health===-1?"red":"green"},null),P.address]))])]):e(R,null,[n("请检查设备网络是否畅通,并确保设备已连接到:"),(((g=(i=s(f))==null?void 0:i.channelInfo)==null?void 0:g.addresses)||[]).map(P=>e("span",{style:{marginLeft:15},key:P.address},[e(C,{color:P.health===-1?"red":"green"},null),P.address]))])},null)),(m=s(c))!=null&&m.protocol&&((w=s(c))!=null&&w.accessProvider)&&bt.includes(s(c).accessProvider)){const P=await it(s(c).protocol,"MQTT");P.status===200&&(((($=P.result)==null?void 0:$.routes)||[]).length>0?U.push(e(C,{status:"default",text:e("span",null,[n("请根据"),e(x,{type:"link",style:"padding: 0",onClick:()=>{j()}},{default:()=>[n("设备接入配置")]}),n("中$"),pe.get((I=s(c))==null?void 0:I.accessProvider)||"",n("信息,任意上报一条数据")])},null)):U.push(e(C,{status:"default",text:e("span",null,[n("请联系管理员提供$"),pe.get((S=s(c))==null?void 0:S.accessProvider)||"",n("信息,并根据URL信息任意上报一条数据")])},null)))}X={...X,address:((Q=(O=s(f))==null?void 0:O.channelInfo)==null?void 0:Q.addresses)||[],config:q.device||[]}}else if(B.providerType==="child-device"){if(((ue=s(c))==null?void 0:ue.accessProvider)==="gb28181-2016"){const P=(G=(se=s(f))==null?void 0:se.channelInfo)==null?void 0:G.addresses[0];P&&(U.push(e(C,{status:"default",text:e("span",null,[n("请检查设备网络是否畅通,并确保设备已连接到:SIP")," ",e("span",{style:{marginLeft:15}},[e(C,{color:P.health===-1?"red":"green"},null),P.address])])},null)),X={...X,address:[P]})}}else if(B.providerType==="media"){if(((me=s(c))==null?void 0:me.accessProvider)==="gb28181-2016"){const P=(Ae=(Ee=s(f))==null?void 0:Ee.channelInfo)==null?void 0:Ae.addresses[0];P&&(U.push(e(C,{status:"default",text:e("span",null,[n("请检查设备网络是否畅通,并确保设备已连接到:SIP")," ",e("span",{style:{marginLeft:15}},[e(C,{color:P.health===-1?"red":"green"},null),P.address])])},null)),X={...X,address:[P]})}}else B.providerType==="cloud"?(U.push(e(C,{status:"default",text:"需要三方云平台主动发送一条消息通知到本平台,触发设备状态为在线"},null)),U.push(e(C,{status:"default",text:"请检查三方平台配置项是否填写正确"},null))):B.providerType;X={...X,configValue:((ce=s(c))==null?void 0:ce.configuration)||{}},le.value={list:[...U],info:X},Z.value=!0}else D("stateChange","success")},$e=async()=>{D("percentChange",0),D("countChange",0),D("stateChange","loading"),k.value="loading";const{providerType:l}=B;let a=[];if(l==="network")u.value=[...wt],a=[_,ie,h,K,ee,te];else if(l==="child-device")u.value=[...At],a=[ie,y,h,K,ee,te];else if(l==="media")u.value=[...Tt],a=[ie,h,K];else if(l==="cloud")u.value=[...It],a=[ie,h,K,Xe,oe];else if(l==="channel"){N.error("未开发");return}if(a.length>0){for(let r=0;rB.providerType,l=>{l&&(c.value=t.current,$e())},{deep:!0,immediate:!0}),Me(()=>[u,k],()=>{var l;if(k.value==="finish"){const a=Y.uniq(Y.map(s(u),"status"));((l=s(c).state)==null?void 0:l.value)!=="online"?(D("stateChange","error"),a[0]==="success"&&a.length===1&&Ye()):D("stateChange","success")}else if(k.value==="loading"){const a=Y.map(s(u),"status").filter(r=>r!=="loading");D("countChange",a.length)}},{deep:!0,immediate:!0}),()=>e("div",{class:v.statusBox},[e("div",{class:v.statusHeader},[e(Ce,{data:"连接详情"},null),e(Ge,null,{default:()=>{var l;return[k.value==="finish"&&((l=s(c).state)==null?void 0:l.value)!=="online"&&e(x,{type:"primary",onClick:async()=>{var r,F,o,i,g,m,w,$,I,S,O,Q,ue,se;let a=!0;if(Object.keys(s(f)).length>0&&((F=(r=s(f))==null?void 0:r.state)==null?void 0:F.value)!=="enabled"&&((await Ie(s(c).accessId||"")).status===200?u.value=d(u.value,{key:"gateway",name:"设备接入网关",desc:"诊断设备接入网关状态是否正常,禁用状态将导致连接失败",status:"success",text:"正常",info:null}):a=!1),((o=s(A))==null?void 0:o.state)!==1&&((await Ke(s(c).productId||"")).status===200?u.value=d(u.value,{key:"product",name:"产品状态",desc:"诊断产品状态是否正常,禁用状态将导致设备连接失败",status:"success",text:"正常",info:null}):a=!1),((g=(i=s(c))==null?void 0:i.state)==null?void 0:g.value)==="notActive"&&((await He(((m=s(c))==null?void 0:m.id)||"")).status===200?(s(c).state={value:"offline",text:"离线"},u.value=d(u.value,{key:"device",name:"设备状态",desc:"诊断设备状态是否正常,禁用状态将导致设备连接失败",status:"success",text:"正常",info:null})):a=!1),B.providerType==="network"||B.providerType==="child-device"){const G=(($=(w=s(f))==null?void 0:w.channelInfo)==null?void 0:$.addresses)||[],me=G.some(ce=>ce.health===-1),Ee=G.every(ce=>ce.health===1);(me?-1:Ee?1:0)===-1&&((I=s(f))!=null&&I.channelId)&&((await We((S=s(f))==null?void 0:S.channelId)).status===200?u.value=d(u.value,{key:"network",name:"网络组件",desc:"诊断网络组件配置是否正确,配置错误将导致设备连接失败",status:"success",text:"正常",info:null}):a=!1)}B.providerType==="child-device"&&((O=s(c))!=null&&O.parentId)&&((ue=(Q=s(b))==null?void 0:Q.state)==null?void 0:ue.value)==="notActive"&&((await He(((se=s(c))==null?void 0:se.parentId)||"")).status===200?u.value=d(u.value,{key:"parent-device",name:"网关父设备",desc:"诊断网关父设备状态是否正常,禁用或离线将导致连接失败",status:"success",text:"正常",info:null}):a=!1),a&&N.success("操作成功!")}},{default:()=>[n("一键修复")]}),e(x,{onClick:()=>{$e()}},{default:()=>[n("重新诊断")]})]}})]),e("div",{class:v.statusContent},[u.value.map(l=>e("div",{key:l.key,class:v.statusItem},[e("div",{class:v.statusLeft},[e("div",{class:v.statusImg},[e("img",{style:{height:32},class:l.status==="loading"?v.loading:{},src:Fe.get(l.status)},null)]),e("div",{class:v.statusContext},[e("div",{class:v.statusTitle},[l==null?void 0:l.name]),e("div",{class:v.statusDesc},[l.desc]),e("div",{class:v.info},[l==null?void 0:l.info])])]),e("div",{class:v.statusRight,style:{color:ye.get(l.status)}},[l==null?void 0:l.text])]))]),Z.value&&e(Pt,{data:le.value,onClose:()=>{Z.value=!1}},null),V.value&&e(Mt,{data:J.value,onClose:()=>{V.value=!1},onSave:l=>{u.value=d(u.value,{key:l.key,name:l.name,desc:l.desc,status:"success",text:"正常",info:null}),V.value=!1}},null),z.value&&e(rt,{data:c.value,onCancel:()=>{z.value=!1},onOk:async l=>{var F,o,i;let a;const r=await Re(l);r.status===200&&(((o=(F=r==null?void 0:r.result)==null?void 0:F.state)==null?void 0:o.value)==="notActive"?a={key:"parent-device",name:"网关父设备",desc:"诊断网关父设备状态是否正常,禁用或离线将导致连接失败",status:"error",text:"异常",info:e("div",null,[e("div",{class:v.infoItem},[e(C,{status:"default",text:e("span",null,[n("网关父设备已禁用,请先"),e(re,{hasPermission:"device/Product:action",type:"link",style:"padding: 0",popConfirm:{title:"确认启用",onConfirm:async()=>{var m;(await Te(((m=r==null?void 0:r.result)==null?void 0:m.id)||"")).status===200&&(N.success("操作成功!"),u.value=d(u.value,{key:"parent-device",name:"网关父设备",desc:"诊断网关父设备状态是否正常,禁用或离线将导致连接失败",status:"success",text:"正常",info:null}))}}},{default:()=>[n("启用")]})])},null)])])}:((i=r==null?void 0:r.state)==null?void 0:i.value)==="online"?a={key:"parent-device",name:"网关父设备",desc:"诊断网关父设备状态是否正常,禁用或离线将导致连接失败",status:"success",text:"正常",info:null}:a={key:"parent-device",name:"网关父设备",desc:"诊断网关父设备状态是否正常,禁用或离线将导致连接失败",status:"error",text:"异常",info:e("div",null,[e("div",{class:v.infoItem},[e(C,{status:"default",text:e("span",null,[n("网关父设备已离线,请先排查网关设备故障")])},null)])])},a&&(u.value=d(s(u),a)),t.current.parentId=l,z.value=!1)}},null)])}}),Ot=St,jt={class:"diagnose"},Lt={class:"diagnose-top"},Nt={class:"diagnose-img"},Qt={key:0,style:{width:"100%",height:"100%",position:"relative"}},Wt=["src"],Rt=["src"],Vt=["src"],qt={class:"diagnose-text"},Kt={class:"diagnose-title"},Ht={class:"diagnose-desc"},Jt={class:"diagnose-progress"},zt={class:"diagnose-radio"},Gt=["onClick"],Ut=he({__name:"index",setup(B){const D=Pe(),t=[{key:"status",text:"连接状态"},{key:"message",text:"消息通信"}],E={background:"#FFFFFF",border:"1px solid rgba(0, 0, 0, 0.09)",borderRadius:"2px 2px 0px 0px",color:"#000000BF"},k=M("loading"),c=M(0),f=M(0),b=M("status"),A=M(),V=M(!0),J=M(!1);tt("topState",k);const Z=u=>{k.value==="success"&&(b.value=u),V.value=!1},le=u=>{u===0?f.value=0:f.value<100&&!u?f.value+=20:f.value=u},z=u=>{k.value=u},de=u=>{c.value=u},q=()=>{var L;J.value=!0,b.value="status";const u=(L=D.current)==null?void 0:L.accessProvider;u==="fixed-media"||u==="gb28181-2016"?A.value="media":u==="OneNet"||u==="Ctwing"?A.value="cloud":u==="modbus-tcp"||u==="opc-ua"?A.value="channel":u==="child-device"?A.value="child-device":A.value="network",k.value="loading"};return ut(()=>{setTimeout(()=>{q()},500)}),st(()=>{J.value=!1}),(u,L)=>{const j=lt;return ne(),fe("div",jt,[W("div",{class:"diagnose-header",style:Se({background:s(xe).get(s(k))})},[W("div",Lt,[W("div",Nt,[s(k)==="loading"?(ne(),fe("div",Qt,[W("img",{src:s(ve).get(s(k)),style:{height:"100%",position:"absolute","z-index":"2"}},null,8,Wt),W("img",{src:s(ae)("/diagnose/loading-1.png"),class:"diagnose-loading",style:{height:"100%"}},null,8,Rt)])):(ne(),fe("img",{key:1,src:s(ve).get(s(k)),style:{height:"100%"}},null,8,Vt))]),W("div",qt,[W("div",Kt,Be(s(De).get(s(k))),1),W("div",Ht,[s(k)!=="loading"?(ne(),fe(R,{key:0},[n(Be(s(_e).get(s(k))),1)],64)):(ne(),fe(R,{key:1},[n("已诊断"+Be(s(c))+"个",1)],64))])])]),W("div",Jt,[e(j,{percent:s(f),showInfo:!1,size:"small",strokeColor:s(we).get(s(k)),style:{width:"100%"}},null,8,["percent","strokeColor"])]),W("div",zt,[(ne(),fe(R,null,nt(t,p=>W("div",{class:at(["diagnose-radio-item",p.key==="message"&&s(k)!=="success"?"disabled":""]),key:p.key,style:Se(s(b)===p.key?{...E}:{}),onClick:_=>Z(p.key)},Be(p.text),15,Gt)),64))])],4),W("div",null,[s(V)?Ne("",!0):Oe((ne(),Le(dt,{key:0},null,512)),[[je,s(b)==="message"]]),s(J)?Oe((ne(),Le(s(Ot),{key:1,providerType:s(A),onCountChange:de,onPercentChange:le,onStateChange:z},null,8,["providerType"])),[[je,s(b)!=="message"]]):Ne("",!0)])])}}});const ls=ft(Ut,[["__scopeId","data-v-d82e8c42"]]);export{ls as default};