import{b0 as A,bo as R,n as t,bc as w,d as T,c as k,Z as M,a1 as B,T as e,a0 as f,a2 as G,bA as z,aQ as E,a5 as _,b9 as W,e as j,b7 as K,ax as $,bB as X,b4 as L,a7 as O,a6 as D,aG as Q,ba as Y,bC as V}from"./index-a8341fa1.js";import{u as q}from"./index-7b240cde.js";import"./dayjs-919e6097.js";import{_ as Z}from"./scroll-tip.vue_vue_type_script_setup_true_lang-d66c47a8.js";import{u as J}from"./usePlay-b0788e52.js";import{u as ee,a as te,r as oe,d as ae,b as le}from"./gb28181-0e98f3aa.js";import"./index-cb44e888.js";import"./index-a35c88a6.js";import"./index-d1462287.js";import"./jb4-7b5b6ba3.js";import"./canvas-b3f2b616.js";import"./index-04d608f8.js";import"./index-5352c15f.js";import"./index-44447dae.js";const ne=({streamMode:i,name:r,mediaIp:s,broadcastPushAfterAck:y,charset:u,subscribeCatalog:d,subscribeAlarm:h,subscribePosition:I,ssrcCheck:C})=>({type:"object",properties:{layout:{type:"void","x-component":"FormLayout","x-component-props":{layout:"horizontal",labelAlign:"right",labelWidth:180,wrapperWidth:300},properties:{name:{type:"string",title:"设备名称","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:"请输入设备名称,",allowClear:!0},default:r},streamMode:{type:"string",title:"流传输模式","x-decorator":"FormItem","x-component":"Select","x-component-props":{placeholder:"请选择流传输模式",allowClear:!0,options:[{label:"UDP",value:"UDP"},{label:"TCP-ACTIVE",value:"TCP-ACTIVE"},{label:"TCP-PASSIVE",value:"TCP-PASSIVE"}],style:{width:"100%"}},required:!0,default:i},mediaIp:{type:"string",title:"收流IP","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:"请输入收流IP地址",allowClear:!0},default:s},broadcastPushAfterAck:{type:"boolean",title:"收到ACK后收发流","x-decorator":"FormItem","x-component":"Switch",default:y},charset:{type:"string",title:"字符集","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button",buttonStyle:"solid"},enum:[{label:"GB2312",value:"GB2312"},{label:"UTF-8",value:"UTF-8"}],default:u||"GB2312"},subscribeCatalog:{type:"boolean",title:"是否订阅目录","x-decorator":"FormItem","x-component":"Switch",default:d},subscribeAlarm:{type:"boolean",title:"是否订阅报警","x-decorator":"FormItem","x-component":"Switch",default:h},subscribePosition:{type:"boolean",title:"是否订阅位置","x-decorator":"FormItem","x-component":"Switch",default:I},ssrcCheck:{type:"boolean",title:"SSRC校验","x-decorator":"FormItem","x-component":"Switch","x-component-props":{checkedChildren:"开启",unCheckedChildren:"关闭"},"x-decorator-props":{tooltip:"开启后防止多端口模式下多设备串流到同一端口,单端口模式下无效,默认关闭"},default:C||!1}}}}}),ie=({channelId:i,name:r})=>({type:"object",properties:{layout:{type:"void","x-component":"FormLayout","x-component-props":{layout:"horizontal"},properties:{name:{type:"string",title:"设备名称","x-decorator":"FormItem","x-decorator-props":{labelWidth:120,wrapperWidth:240},"x-component":"Input","x-component-props":{placeholder:"请输入设备名称",allowClear:!0},default:r},channelId:{type:"string",title:"设备ID","x-decorator":"FormItem","x-decorator-props":{labelWidth:120,wrapperWidth:240},"x-component":"Input","x-component-props":{placeholder:"请输入设备ID",allowClear:!0},default:i}}}}}),re=({handleSubmit:i,handleReset:r})=>({type:"object",properties:{layout:{type:"void","x-component":"FormLayout","x-component-props":{layout:"inline",style:"marginTop: 22px"},properties:{query:{type:"string",title:"设备ID/名称","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:"请输入设备ID或名称,支持按 Enter 搜索",allowClear:!0,style:{width:"300px",marginRight:"8px"},"@pressEnter":()=>i()}},status:{type:"number",title:"状态",enum:[{label:"全部",value:-1},{label:"在线",value:1},{label:"离线",value:0}],"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:"160px",marginRight:"8px"},"@inputKeyDown":s=>s.key==="Enter"&&i()},default:-1},btns:{type:"void","x-component":"FormButtonGroup","x-component-props":{style:"marginLeft: 8px"},properties:{submit:{type:"void","x-component":"Button","x-component-props":{type:"primary","@click":()=>i(),style:"width: 70px;"},"x-content":"查询"},reset:{type:"void","x-component":"Button","x-component-props":{"@click":()=>r(),style:"width: 70px"},"x-content":"重置"}}}}}}}),se=({row:i,pause:r,resume:s,updatList:y})=>{r();const{streamMode:u,deviceId:d,name:h,mediaIp:I,broadcastPushAfterAck:C,charset:l,subscribeCatalog:n,subscribeAlarm:a,subscribePosition:m,ssrcCheck:g}=i,{FormilyForm:x,submit:b}=A({schema:ne({streamMode:u,name:h,mediaIp:I,broadcastPushAfterAck:C,charset:l,subscribeCatalog:n,subscribeAlarm:a,subscribePosition:m,ssrcCheck:g})});R({content:t(x,null,null),modalConfig:{width:"500px",title:"设备编辑",onOk:async()=>{const o=await b();if(o){const{streamMode:p,name:c,mediaIp:v,broadcastPushAfterAck:S,charset:P,subscribeCatalog:F,subscribeAlarm:H,subscribePosition:U,ssrcCheck:N}=o;return await ee({deviceId:d,streamMode:p,name:c,mediaIp:v,broadcastPushAfterAck:S,charset:P,subscribeCatalog:F,subscribeAlarm:H,subscribePosition:U,ssrcCheck:N}),w.success("设备信息修改成功"),y(),s(),Promise.resolve(!0)}return Promise.reject(!1)},cancelText:"取消",maskClosable:!1,onCancel:()=>s()}})},de=({row:i,updatList:r})=>{const{id:s,name:y,_name:u,channelId:d,_channelId:h}=i,{FormilyForm:I,submit:C}=A({schema:ie({name:i.name.includes('')?u:y,channelId:i.channelId.includes('')?h:d})});R({content:t(I,null,null),modalConfig:{width:"500px",title:"自定义通道",onOk:async()=>{const l=await C();if(l){const{name:n,channelId:a}=l;return await te({id:s,name:n,channelId:a}),w.success("修改成功"),r({id:s,name:n,channelId:a}),Promise.resolve(!0)}return Promise.reject(!1)},cancelText:"取消",maskClosable:!1}})},pe=T({name:"Channel"}),ce=T({...pe,props:{detail:{},parent:{}},setup(i){const r=i,s=k(""),y=q(),u=k(r.detail),d=k(r.detail),h={maxHeight:"530px",rowConfig:{keyField:"deviceId",useKey:!0},columnConfig:{useKey:!0},columns:[{field:"channelId",title:"编号",showOverflow:"tooltip",width:"200px",type:"html",fixed:"left"},{field:"name",title:"名称",showOverflow:"tooltip",width:"120px",type:"html",fixed:"left"},{field:"address",title:"地址",type:"html",width:"180px"},{field:"port",title:"端口",width:"70px"},{field:"status",title:"状态",minWidth:"100px"},{field:"manufacturer",title:"厂商",width:"120px"},{field:"model",title:"型号",width:"180px"},{field:"owner",title:"Owner",width:"120px"},{field:"civilCode",title:"CivilCode",width:"120px"},{field:"parental",title:"Parental",width:"120px"},{field:"safetyWay",title:"SafetyWay",width:"120px"},{field:"registerWay",title:"RegisterWay",width:"120px"},{field:"secrecy",title:"Secrecy",width:"120px"},{field:"operate",title:"操作",width:"120px",slots:{default:"operate"},align:"center",fixed:"right"}]},I=()=>{const l=d.value,n=String(s.value).trim().toLowerCase();if(n){const a=new RegExp(n,"gi"),m=["channelId","name","address"],g=l.filter(x=>m.some(b=>String(x[b]).toLowerCase().indexOf(n)>-1)).sort((x,b)=>x?.deviceId.localeCompare(b?.deviceId));u.value=g.map(x=>{const b=Object.assign({},x,{_channelId:x.channelId,_name:x.name});return m.forEach(o=>{b[o]=String(b[o]).replace(a,p=>`${p}`)}),b})}else u.value=l.sort((a,m)=>a?.deviceId.localeCompare(m?.deviceId))},C=({id:l,channelId:n,name:a})=>{const m=r.detail.findIndex(x=>x.id===l),g=[...r.detail];g[m]={...g[m],name:a,channelId:n},d.value=g,I()};return(l,n)=>(M(),B(G,null,[t(e(z),{class:"w-300px m-b-4px",allowClear:"",value:s.value,"onUpdate:value":n[0]||(n[0]=a=>s.value=a),placeholder:"试试搜索: 编号/名称/地址等",onChange:I},null,8,["value"]),t(e(W),{uid:e(y).uid,gridOptions:h,data:u.value},{operate:f(({row:a})=>[t(e(E),{size:"small",type:"link",disabled:a.status==="OFF",onClick:()=>e(J)({id:l.parent.deviceId,deviceName:l.parent.name,deviceId:a.deviceId,channelName:a.name,isGbRecord:!1})},{default:f(()=>n[1]||(n[1]=[_(" 播放 ")])),_:2},1032,["disabled","onClick"]),t(e(E),{size:"small",type:"text",disabled:a.status==="OFF",onClick:()=>e(de)({row:a,updatList:C})},{default:f(()=>n[2]||(n[2]=[_(" 编辑 ")])),_:2},1032,["disabled","onClick"])]),_:1},8,["uid","data"])],64))}}),ue=({row:i,appContext:r,pause:s,resume:y})=>{s();const{name:u,deviceId:d,channels:h}=i;R({content:t(ce,{detail:h||[],parent:{name:u,deviceId:d}},null),modalConfig:{appContext:r,width:"78%",title:`${u} 通道详情`,okButtonProps:{style:{display:"none"}},cancelText:"关闭",maskClosable:!1,onCancel:()=>y()}})},me=T({name:"Device"}),Pe=T({...me,setup(i){const r=j()?.appContext,s=async()=>{d.submit(),!(d.errors.length>0)&&l.tableRef.commitProxy("query")},y=()=>{d.reset(),l.tableRef.commitProxy("query")},{FormilyForm:u,form:d}=A({schema:re({handleSubmit:s,handleReset:()=>y()})}),h=async o=>{await oe(o),w.success(`${o} 设备通道已更新!`)},I=o=>{Y.confirm({title:"确定删除设备?",cancelText:"取消",okText:"确定",content:"删除后设备将无法使用!",onOk:()=>{ae(o).then(()=>{w.success("设备已删除!"),l.tableRef.commitProxy("query")})}})};K.renderer.add("moreFields",{renderExpand(o,p){const{row:c}=p;return t("p",{class:"flex flex-col p-10px m-0"},[t("span",null,[t("b",null,[_("型号(Model):  ")]),c.Model||"--"]),t("span",null,[t("b",null,[_("纬度(Latitude):  ")]),c.Latitude||"--"]),t("span",null,[t("b",null,[_("经度(Longitude):  ")]),c.Longitude||"--"])])}});const C={toggleRowExpand:({expanded:o})=>{o?a():m()}},l=q(),{gbHttpRefreshTime:n}=$({VITE_PORT:"3000",VITE_GLOB_APP_TITLE:"SagooMedia",VITE_GLOB_APP_SHORT_NAME:"SagooMedia",VITE_NEED_LOGIN:"false",VITE_USE_MOCK:"true",VITE_PUBLIC_PATH:"/plugin/media",VITE_DROP_CONSOLE:"true",VITE_BUILD_COMPRESS:"none",VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE:"false",VITE_GLOB_HTTP_REFRESH_TIME:"5000",VITE_GLOB_GB_HTTP_REFRESH_TIME:"60000",VITE_USE_IMAGEMIN:"true",VITE_LEGACY:"false",VITE_M7S_SERVER:"/media",VITE_M7S_WS_SERVER:"/media",BASE_URL:"/plugin/media",MODE:"production",DEV:!1,PROD:!0,SSR:!1}),{pause:a,resume:m}=X(()=>{l.tableRef.commitProxy("query")},n),g=()=>{l.tableRef.commitProxy("query")},x=(o,p)=>new Promise(async c=>{const{data:v,total:S}=await le({query:d.values.query,status:d.values.status,page:o,count:p});v.sort((P,F)=>P?.deviceId.localeCompare(F?.deviceId)),c({total:S,data:v})}),b={pagerConfig:{pageSize:10},proxyConfig:{seq:!0,props:{result:"data",total:"total"},ajax:{query:({page:o})=>x(o.currentPage,o.pageSize)}},maxHeight:"100%",rowConfig:{keyField:"ID",useKey:!0},columnConfig:{useKey:!0},columns:[{title:"...",width:"30px",type:"expand",contentRender:{name:"moreFields"},fixed:"left"},{field:"deviceId",title:"设备编号",showOverflow:"tooltip",width:"200px",fixed:"left"},{field:"name",title:"设备名称",showOverflow:"tooltip",width:"140px"},{field:"channelCount",title:"通道数",width:"70px"},{field:"status",title:"状态",minWidth:"120px"},{field:"streamMode",title:"流传输模式",width:"120px"},{field:"transport",title:"信令传输模式",minWidth:"110px"},{field:"deviceAddress",title:"设备地址",width:"180px",slots:{default:"deviceAddress"}},{field:"manufacturer",title:"厂商",width:"120px"},{field:"keepAliveTime",title:"最后保活时间",minWidth:"180px",formatter:({cellValue:o})=>V.toDateString(new Date(o),"yyyy-MM-dd HH:mm:ss")},{field:"registerTime",title:"注册时间",minWidth:"180px",formatter:({cellValue:o})=>V.toDateString(new Date(o),"yyyy-MM-dd HH:mm:ss")},{field:"operate",title:"操作",width:"250px",fixed:"right",align:"center",slots:{default:"operate"}}]};return(o,p)=>(M(),B(G,null,[t(e(L),{bordered:!1,bodyStyle:{padding:"10px",marginBottom:"8px"}},{default:f(()=>[t(e(u))]),_:1}),t(e(L),{bordered:!1,bodyStyle:{padding:"10px",height:"100%"},style:{height:"calc(100% - 110px)"}},{default:f(()=>[t(e(Z),{windowWidth:1716}),t(e(W),{uid:e(l).uid,gridOptions:b,gridEvent:C},{deviceAddress:f(({row:c})=>[O("span",null,D(c.ip)+":",1),O("span",null,D(c.port),1)]),operate:f(({row:c})=>[t(e(Q),null,{default:f(()=>[t(e(E),{size:"small",type:"link",onClick:()=>e(ue)({row:c,appContext:e(r),pause:e(a),resume:e(m)})},{default:f(()=>p[0]||(p[0]=[_(" 通道详情 ")])),_:2},1032,["onClick"]),t(e(E),{size:"small",type:"text",onClick:()=>e(se)({row:c,pause:e(a),resume:e(m),updatList:g})},{default:f(()=>p[1]||(p[1]=[_(" 编辑 ")])),_:2},1032,["onClick"]),t(e(E),{size:"small",type:"text",onClick:()=>h(c.deviceId)},{default:f(()=>p[2]||(p[2]=[_(" 刷新 ")])),_:2},1032,["onClick"]),t(e(E),{size:"small",type:"link",danger:"",onClick:()=>I(c.deviceId)},{default:f(()=>p[3]||(p[3]=[_(" 删除 ")])),_:2},1032,["onClick"])]),_:2},1024)]),_:1},8,["uid"])]),_:1})],64))}});export{Pe as default}; //# sourceMappingURL=gb28181-3ed31360.js.map