gb28181-3936b922.js 13 KB

12
  1. import{b0 as A,bp 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 h,a2 as G,bB as z,aQ as E,a5 as _,b9 as W,e as j,b7 as K,ax as $,bC as X,b4 as L,a7 as O,a6 as D,aG as Q,ba as Y,bD as V}from"./index-1f7267da.js";import{u as N}from"./index-4ed641ec.js";import"./dayjs-919e6097.js";import{_ as Z}from"./scroll-tip.vue_vue_type_script_setup_true_lang-0ce28faf.js";import{u as J}from"./usePlay-582ead8e.js";import{u as ee,a as te,r as oe,d as ae,b as le}from"./gb28181-59fe2452.js";import"./index-6ec20f53.js";import"./index-2e39ef19.js";import"./index-0f7fd87e.js";import"./jb4-a2294d1a.js";import"./canvas-b3f2b616.js";import"./index-5292cc0d.js";import"./index-e1783866.js";import"./index-e3e66b29.js";const ne=({streamMode:l,name:n,mediaIp:s,broadcastPushAfterAck:C,charset:m,subscribeCatalog:c,subscribeAlarm:b,subscribePosition:y,ssrcCheck:g})=>({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:n},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:l},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:C},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:m||"GB2312"},subscribeCatalog:{type:"boolean",title:"是否订阅目录","x-decorator":"FormItem","x-component":"Switch",default:c},subscribeAlarm:{type:"boolean",title:"是否订阅报警","x-decorator":"FormItem","x-component":"Switch",default:b},subscribePosition:{type:"boolean",title:"是否订阅位置","x-decorator":"FormItem","x-component":"Switch",default:y},ssrcCheck:{type:"boolean",title:"SSRC校验","x-decorator":"FormItem","x-component":"Switch","x-component-props":{checkedChildren:"开启",unCheckedChildren:"关闭"},"x-decorator-props":{tooltip:"开启后防止多端口模式下多设备串流到同一端口,单端口模式下无效,默认关闭"},default:g||!1}}}}}),ie=({channelId:l,name:n})=>({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:n},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:l}}}}}),re=({handleSubmit:l,handleReset:n})=>({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":()=>l()}},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"&&l()},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":()=>l(),style:"width: 70px;"},"x-content":"查询"},reset:{type:"void","x-component":"Button","x-component-props":{"@click":()=>n(),style:"width: 70px"},"x-content":"重置"}}}}}}}),se=({row:l,pause:n,resume:s,updatList:C})=>{n();const{streamMode:m,deviceId:c,name:b,mediaIp:y,broadcastPushAfterAck:g,charset:i,subscribeCatalog:r,subscribeAlarm:a,subscribePosition:d,ssrcCheck:f}=l,{FormilyForm:x,submit:I}=A({schema:ne({streamMode:m,name:b,mediaIp:y,broadcastPushAfterAck:g,charset:i,subscribeCatalog:r,subscribeAlarm:a,subscribePosition:d,ssrcCheck:f})});R({content:t(x,null,null),modalConfig:{width:"500px",title:"设备编辑",onOk:async()=>{const o=await I();if(o){const{streamMode:p,name:u,mediaIp:v,broadcastPushAfterAck:S,charset:P,subscribeCatalog:F,subscribeAlarm:q,subscribePosition:H,ssrcCheck:U}=o;return await ee({deviceId:c,streamMode:p,name:u,mediaIp:v,broadcastPushAfterAck:S,charset:P,subscribeCatalog:F,subscribeAlarm:q,subscribePosition:H,ssrcCheck:U}),w.success("设备信息修改成功"),C(),s(),Promise.resolve(!0)}return Promise.reject(!1)},cancelText:"取消",maskClosable:!1,onCancel:()=>s()}})},de=({row:l,updatList:n})=>{const{id:s,name:C,_name:m,channelId:c,_channelId:b,customChannelId:y,customChannelName:g}=l,{FormilyForm:i,submit:r}=A({schema:ie({name:(l.customChannelName.includes('<span class="text-primary">'),g),channelId:(l.customChannelId.includes('<span class="text-primary">'),y)})});R({content:t(i,null,null),modalConfig:{width:"500px",title:"自定义通道",onOk:async()=>{const a=await r();if(a){const{name:d,channelId:f}=a;return await te({id:s,customChannelName:d,customChannelId:f}),w.success("修改成功"),n({id:s,name:d,channelId:f}),Promise.resolve(!0)}return Promise.reject(!1)},cancelText:"取消",maskClosable:!1}})},pe=T({name:"Channel"}),ce=T({...pe,props:{detail:{},parent:{}},setup(l){const n=l,s=k(""),C=N(),m=k(n.detail),c=k(n.detail),b={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"}]},y=()=>{const i=c.value,r=String(s.value).trim().toLowerCase();if(r){const a=new RegExp(r,"gi"),d=["channelId","name","address"],f=i.filter(x=>d.some(I=>String(x[I]).toLowerCase().indexOf(r)>-1)).sort((x,I)=>x?.deviceId.localeCompare(I?.deviceId));m.value=f.map(x=>{const I=Object.assign({},x,{_channelId:x.channelId,_name:x.name});return d.forEach(o=>{I[o]=String(I[o]).replace(a,p=>`<span class="text-primary">${p}</span>`)}),I})}else m.value=i.sort((a,d)=>a?.deviceId.localeCompare(d?.deviceId))},g=({id:i,channelId:r,name:a})=>{const d=n.detail.findIndex(x=>x.id===i),f=[...n.detail];f[d]={...f[d],name:a,channelId:r},c.value=f,y()};return(i,r)=>(M(),B(G,null,[t(e(z),{class:"w-300px m-b-4px",allowClear:"",value:s.value,"onUpdate:value":r[0]||(r[0]=a=>s.value=a),placeholder:"试试搜索: 编号/名称/地址等",onChange:y},null,8,["value"]),t(e(W),{uid:e(C).uid,gridOptions:b,data:m.value},{operate:h(({row:a})=>[t(e(E),{size:"small",type:"link",disabled:a.status==="OFF",onClick:()=>e(J)({id:i.parent.deviceId,deviceName:i.parent.name,deviceId:a.deviceId,channelName:a.name,isGbRecord:!1})},{default:h(()=>r[1]||(r[1]=[_(" 播放 ")])),_:2},1032,["disabled","onClick"]),t(e(E),{size:"small",type:"text",disabled:a.status==="OFF",onClick:()=>e(de)({row:a,updatList:g})},{default:h(()=>r[2]||(r[2]=[_(" 编辑 ")])),_:2},1032,["disabled","onClick"])]),_:1},8,["uid","data"])],64))}}),ue=({row:l,appContext:n,pause:s,resume:C})=>{s();const{name:m,deviceId:c,channels:b}=l;R({content:t(ce,{detail:b||[],parent:{name:m,deviceId:c}},null),modalConfig:{appContext:n,width:"78%",title:`${m} 通道详情`,okButtonProps:{style:{display:"none"}},cancelText:"关闭",maskClosable:!1,onCancel:()=>C()}})},me=T({name:"Device"}),Pe=T({...me,setup(l){const n=j()?.appContext,s=async()=>{c.submit(),!(c.errors.length>0)&&i.tableRef.commitProxy("query")},C=()=>{c.reset(),i.tableRef.commitProxy("query")},{FormilyForm:m,form:c}=A({schema:re({handleSubmit:s,handleReset:()=>C()})}),b=async o=>{await oe(o),w.success(`${o} 设备通道已更新!`)},y=o=>{Y.confirm({title:"确定删除设备?",cancelText:"取消",okText:"确定",content:"删除后设备将无法使用!",onOk:()=>{ae(o).then(()=>{w.success("设备已删除!"),i.tableRef.commitProxy("query")})}})};K.renderer.add("moreFields",{renderExpand(o,p){const{row:u}=p;return t("p",{class:"flex flex-col p-10px m-0"},[t("span",null,[t("b",null,[_("型号(Model):  ")]),u.Model||"--"]),t("span",null,[t("b",null,[_("纬度(Latitude):  ")]),u.Latitude||"--"]),t("span",null,[t("b",null,[_("经度(Longitude):  ")]),u.Longitude||"--"])])}});const g={toggleRowExpand:({expanded:o})=>{o?a():d()}},i=N(),{gbHttpRefreshTime:r}=$({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:d}=X(()=>{i.tableRef.commitProxy("query")},r),f=()=>{i.tableRef.commitProxy("query")},x=(o,p)=>new Promise(async u=>{const{data:v,total:S}=await le({query:c.values.query,status:c.values.status,page:o,count:p});v.sort((P,F)=>P?.deviceId.localeCompare(F?.deviceId)),u({total:S,data:v})}),I={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:h(()=>[t(e(m))]),_:1}),t(e(L),{bordered:!1,bodyStyle:{padding:"10px",height:"100%"},style:{height:"calc(100% - 110px)"}},{default:h(()=>[t(e(Z),{windowWidth:1716}),t(e(W),{uid:e(i).uid,gridOptions:I,gridEvent:g},{deviceAddress:h(({row:u})=>[O("span",null,D(u.ip)+":",1),O("span",null,D(u.port),1)]),operate:h(({row:u})=>[t(e(Q),null,{default:h(()=>[t(e(E),{size:"small",type:"link",onClick:()=>e(ue)({row:u,appContext:e(n),pause:e(a),resume:e(d)})},{default:h(()=>p[0]||(p[0]=[_(" 通道详情 ")])),_:2},1032,["onClick"]),t(e(E),{size:"small",type:"text",onClick:()=>e(se)({row:u,pause:e(a),resume:e(d),updatList:f})},{default:h(()=>p[1]||(p[1]=[_(" 编辑 ")])),_:2},1032,["onClick"]),t(e(E),{size:"small",type:"text",onClick:()=>b(u.deviceId)},{default:h(()=>p[2]||(p[2]=[_(" 刷新 ")])),_:2},1032,["onClick"]),t(e(E),{size:"small",type:"link",danger:"",onClick:()=>y(u.deviceId)},{default:h(()=>p[3]||(p[3]=[_(" 删除 ")])),_:2},1032,["onClick"])]),_:2},1024)]),_:1},8,["uid"])]),_:1})],64))}});export{Pe as default};
  2. //# sourceMappingURL=gb28181-3936b922.js.map